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

标签 r dataframe

我想看看 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/

相关文章:

在函数中返回不同的数据帧 - R

r - 维恩图 : How to hide % overlap labels?

r - 如何使用 dplyr 将变量从数字转换为具有唯一级别的因子

python - 使用 lambda 删除 pandas 数据框的几行

python - 我如何通过 Pandas 分组来获得总和?

r - 如何使用 dplyr 进行计数?

r - 合并列并创建另一列以指定源

pandas - 将 pandas df 扩展为按组包含其他 df 列的所有可能组合的版本

python - Pandas 读取缺少一个 header 的 csv

r - 查找重复行的索引