全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
767 2
2021-08-09
想对数据库中两个体重数值的比较,重新定义为新变量,就编写了如下的for循环代码,
newdt2000$weight_1<-newdt2000$g10*0.05*2
newdt2000$weight_2<-newdt2000$g101_2-newdt2000$g10
newdt2000$WL<-NA
for (i in 1:nrow(newdt2000)) {
  if (newdt2000$weight_1[i]>=newdt2000$weight_2[i]) {newdt2000$WL[i,]<-0
  }else {newdt2000$WL[i,]<-1
  }
}

但结果显示
“Error in if (newdt2000$weight_1[i] >= newdt2000$weight_2[i]) { :
  missing value where TRUE/FALSE needed”
不知道该如何修改,求大神指教!感谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2021-8-9 23:17:15
个人观察,可能是因为你引用变量的方式有点问题吧,比如你做判断的时候,用的是单个数
复制代码

但是在赋值的时候确实,单个数赋值给一个向量的形式
复制代码

如果是我的话,我可能不太会用循环,我会写成这样
复制代码
二维码

扫码加我 拉你入群

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

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

2021-8-10 10:34:20
owenqi 发表于 2021-8-9 23:17
个人观察,可能是因为你引用变量的方式有点问题吧,比如你做判断的时候,用的是单个数

但是在赋值的时候 ...
谢谢您,循环确实有点难,现在感觉正常跑也可以,再次感谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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