我尝试在R中使用ifelse返回null,但出现错误信息。请问有什么建议吗?
这是我的代码:
cntr1 <- ifelse(unlist(gregexpr("---",path_info[j], fixed = TRUE, useBytes = TRUE)) > 0, 3 * length(unlist(gregexpr("---",path_info[j], fixed = TRUE, useBytes = TRUE))),NULL )
错误信息为:
Error in ifelse(unlist(gregexpr("---", path_info[j], fixed = TRUE, useBytes = TRUE)) > :
replacement has length zero In addition: Warning message:
In rep(no, length.out = length(ans)) :
'x' is NULL so the result will be NULL
ifelse
的帮助页面中,Value
部分:一个与test和数据值长度相同的向量[...],其值来自于yes或no的值
。而且length(NULL)
返回零,所以你的no
甚至不能被循环利用。 - Rui Barradas"NULL"
而不是返回NULL
,这样你的ifelse就能起作用了,然后使用eval(parse(text = ...) )
来确保NULL
真正出现? - MBBNULL
呢?无论如何,在原子向量中你都不能拥有NULL
。在 R 中,NA
是表示缺失值的正确对象。 - LyzandeR