2015-06-22 106 views
0

此代碼生成錯誤,但爲什麼?我認爲nzchar是檢查字段是否爲空的適當工具?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避免錯誤,我不知道如何避免錯誤此功能產生。

這裏的數據是什麼樣子:萬$ 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 

什麼是正確的方法是通過這個數據幀列循環,以免產生錯誤?感謝您的任何建議。

回答

2

你想測試是

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

如果目的是測試tempNULL -ness。換句話說,如果temp == NULL,跳轉到循環的下一次迭代。

nzchar()用於確定向量中的非零字符串。