我搜索了之前的帖子,他们发现了这个错误消息的原因:缺少值需要TRUE / FALSE,是由于na值。但是我之前删除了所有的NA值,所以很困惑为什么我收到此错误消息。我编写了一个函数,根据类赋值计算一列中的值是否大于另一列中的值使用控制流。我是R的初学者,所以我非常感谢任何关于我做错的建议。我的代码如下:
dt
L A B new
1: 1 g l gl.hm.in.jo.kp
2: 2 h m gl.hm.in.jo.kp
3: 3 i n gl.hm.in.jo.kp
4: 4 j o gl.hm.in.jo.kp
5: 5 k p gl.hm.in.jo.kp
非常感谢你的帮助
答案 0 :(得分:0)
使用apply循环遍历data.frame。这意味着您的testfunction
会获得一个输入向量,并将其转换为新的数据帧。接下来,通过调用na.omit(x_2_columns)
,您将介绍以下情况:
df <- data.frame(V1 = 1, V2 = NA)
na.omit(df)
# [1] V1 V2
# <0 rows> (or 0-length row.names)
稍后会导致错误。