R nzchar错误:参数长度为零

时间:2015-06-22 22:37:32

标签: r

此代码生成错误,但为什么?我认为nzchar是判断一个字段是否为空的适当工具?

 for(i in 1:length(mega$hour_start)){
     temp = mega$hour_start[i][[1]]
     if (!nzchar(temp)){
         next
     }
 }
Error in if (!nzchar(temp)) { : argument is of length zero

我使用nzchar来避免错误,我不知道如何避免此函数产生的错误。

以下是数据的样子:mega $ hour_start有时是一个数字数组,有时是空的:

> mega$hour_start[45:50]
[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

[[4]]
NULL

[[5]]
 [1] 11 11 10 16 12 12 11 11 11 11 22 22 14 14 14  6  6 17 17 17 15 15 15 11 20 20 20 20 12 10  7

[[6]]
NULL

循环浏览此数据框列的正确方法是什么,以免产生错误?感谢您的任何建议。

1 个答案:

答案 0 :(得分:2)

您希望测试

if (is.null(temp)) {
  next
}

如果打算对temp进行NULL测试。换句话说,如果temp == NULL,跳转到循环的下一次迭代。

nzchar()用于确定向量中的非零字符串。