全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2286 2
2009-03-15
各位,大家好,小弟有个白痴点的问题想请教一下:

a<-data.frame(no=c(1,2,2,4),lev=c("A","B","C","B"))

> a
  no lev
1  1   A
2  2   B
3  2   C
4  4   B

想将lev=B的,改为lev=D,但按下面的做法不行,要怎样才行?

如果是numeric的就能直接如下赋值,为什么character不能呢?

a$no[a$no==2]<-10      #行
a$lev[a$lev=="B"]<-"D" #不行!

谢谢!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-3-24 03:02:00
not exactly know why. but if you add "stringAsFactors=F" in the data.frame command, you can assign values freely. Since this case R does not treat lev as factors.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-3-24 11:39:00

a<-c(no=c(1,2,2,4),lev=c("A","B","C","B"))

a[a=="B"]<-"D"

a<-data.frame(matrix(a,4,2))

result

a
  X1 X2
1  1  A
2  2  D
3  2  C
4  4  D

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群