我想看看 data.frame 列是否有任何空值移动到下一个循环。我目前正在使用以下代码:
if (is.na(df[,relevant_column]) == TRUE ){next}
Run Code Online (Sandbox Code Playgroud)
发出警告:
在 if (is.na(df_cell_client[, numerator]) == TRUE) { ... : 条件长度 > 1 并且只使用第一个元素
如何检查任何值是否为空而不仅仅是第一行?
(我假设“null”是你真正的意思NA,因为 data.frameNULL在这个意义上不能包含。)
你的问题是if期望一个逻辑,但is.na(df[,relevant_column])返回一个逻辑向量。any将逻辑向量减少为向量的单个全局“或”:尝试:
if (any(is.na(df[,relevant_column]))) {next}
Run Code Online (Sandbox Code Playgroud)
BTW:没== TRUE必要。如果您希望代码清晰,请保留它,但我认为您会发现大多数 R 代码并没有使用它。(我也看到something == FALSE,同样“奇怪/错误”,! something应该在哪里工作......但我离题了。)