【问题标题】:R nzchar error: argument is length zeroR nzchar 错误:参数长度为零
【发布时间】:2015-06-22 22:37:32
【问题描述】:

此代码生成错误,但为什么呢?我认为 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

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

【问题讨论】:

    标签: r


    【解决方案1】:

    你希望测试是

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

    如果打算测试tempNULL-ness。也就是说,如果temp == NULL,则跳转到循环的下一次迭代。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多