全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
825 2
2015-07-28
hi 大家好。我在我的一组数据加了一列,名字是alc.use.status,然后现在想更改它的内容。我用了if(),好像不行啊。
BarrettsNew["alc.use.status"]<-NA
if(BarrettsNew$alc.use=="No") BarretsNew$alc.use.status<-"No"
if(BarrettsNew$alc.use=="Yes" & BarrettsNew$alc.abuse=="no") BarretsNew$alc.use.status<-Drink_Not_Abuse
if(BarrettsNew$alc.abuse=="Yes")  BarretsNew$alc.use.status<-Abuse

有大神帮帮我吗?谢谢:)
二维码

扫码加我 拉你入群

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

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

全部回复
2015-7-28 16:37:25
BarrettsNew[,"alc.use.status"]<-NA
或者BarrettsNew$alc.use.status<-NA
二维码

扫码加我 拉你入群

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

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

2015-7-28 18:28:24
这是个非常基础的问题,a = 1; if (a > 0) {...};这个是可以的,原因是a仅仅是标量,或更准确的说是含有一个元素的向量。但是,你在if条件中用到的都是含有多个元素的向量,这是不妥当的做法。要么用for循环:
for (i in 1:n) {
  if (a[i, "xyz"] > 0) {...}
}
要么就用b[a["xyz"]>0,"uvw"] <- NA或者b[which(a["xyz"] > 0), "uvw"] <- NA这样的写法
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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