我想看看 data.frame 列是否有任何空值移动到下一个循环。我目前正在使用以下代码:
if (is.na(df[,relevant_column]) == TRUE ){next}
发出警告:
In if (is.na(df_cell_client[, numerator]) == TRUE) { ... : the condition has length > 1 and only the first element will be used
如何检查任何值是否为空而不仅仅是第一行?
最佳答案
(我假设“空”实际上是指 NA
,因为从这个意义上说,data.frame 不能包含 NULL
。)
你的问题是 if
期望单个逻辑,但 is.na(df[,relevant_column])
正在返回一个逻辑向量。 any
将逻辑向量减少为向量的单个全局“或”:
尝试:
if (any(is.na(df[,relevant_column]))) {next}
顺便说一句:
== TRUE
是不必要的。如果您希望代码清晰,请保留它,但我认为您会发现大多数 R 代码并没有使用它。 (我也见过 something == FALSE
,同样是“奇数/错误”,其中 ! something
应该可以工作......但我离题了。)
关于r - 检查 data.frame 列中的任何值是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41969771/