【发布时间】:2017-08-22 10:10:56
【问题描述】:
我正在尝试在 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部分:A vector of the same length [...] as test and data values from the values of yes or no。length(NULL)返回零,因此您的no甚至无法回收。 -
我不知道它是否真的对你有用,但也许尝试而不是返回
NULL来返回"NULL"以便你的 ifelse 工作,然后做一个eval(parse(text = ...) )真正得到NULL出现? -
为什么还需要它返回
NULL?无论如何,您不能在原子向量中使用NULLs。NA是 R 中缺失值的正确对象。 -
@LyzanderR 使用 NA 不会给出长度 0。
标签: r