我有一个数据框q。在一个for循环中,我尝试在diff不是'no'的情况下打印mnt_for的值。
我收到此消息: if(!q $ diff [j] ==“ no”){时出错 缺少需要TRUE / FALSE的值
如何处理我最感兴趣的价值缺失案例
for(j in 1:nrow(q)) {
if (!q$diff[j]=='no'){
print(q[j,6])
}
}
res_id lud snow_mountain snow_mountain mnt mnt_for diff
67 3822 2018-02-12 160 160 160 160 no
68 3822 2018-02-13 NA NA 162 160 <NA>
69 3822 2018-02-14 NA NA 163 160 <NA>
答案 0 :(得分:2)
替代解决方案可能是
print(q[!q$diff %in% c(NA,"no"),6])
答案 1 :(得分:1)
使用此:
for(j in 1:nrow(q)) {
if (!is.na(q$diff[j]) & !q$diff[j]=='no'){
print(q[j,6])
}
}
中间可能需要一个双&&
,很难在没有样本数据的情况下进行测试