r - 检查data.frame列中的任何值是否为空

时间:2017-02-01 00:05:14

标签: r dataframe

我试图查看data.frame列是否有任何空值移动到下一个循环。我目前正在使用以下代码:

if (is.na(df[,relevant_column]) == TRUE ){next}

吐出警告:

  

在if(is.na(df_cell_client [,numerator])== TRUE){...:   条件的长度> 1,只使用第一个元素

如何检查任何值是否为空而不仅仅是第一行?

1 个答案:

答案 0 :(得分:2)

(我假设“null”你的意思是NA,因为data.frame在这个意义上不能包含NULL。)

您的问题是if需要单个逻辑,但is.na(df[,relevant_column])正在返回逻辑的向量any将逻辑向量缩减为向量的单个全局“或”: 尝试:

if (any(is.na(df[,relevant_column]))) {next}

BTW:== TRUE是不必要的。如果你觉得你想要清晰的代码,请保留它,但我认为你会发现大多数R代码都没有使用它。 (我也见过something == FALSE,同样“奇怪/错误”,其中! something应该有效...但我离题了。)