我有一个没有任何内容的向量x。
dput(x)
""
当我执行length(x)
或nrow(data.frame(x))
时,它会显示为1。
如何设置if语句,如果为空,请转到下一个?
我有:
if(length(x)>1){
似乎没有用。
答案 0 :(得分:4)
你的矢量不是空的,它由1个空字符串(一个零长度的字符串)组成。
x <- ""
dput(x)
## ""
在此,您要测试nchar(x) == 0
或all(nchar(x) == 0)
。或者,您可能希望检查nzchar(x)
是否返回FALSE
。
答案 1 :(得分:0)
您的x
不是&#34;空&#34;。它是长度为1的向量,单个条目是空字符串。这与NULL
或NA
或许多其他定义&#34;空虚&#34;的方式不同在R.(宁可禅)。
答案将取决于x
中可能存在的其他因素。 @gagolews已经给出了一个很好的答案。替代方案可以包括all(x=="")
或类似的。无论你做什么,都要考虑x
是否包含NULL
,或NA
是否包含真正的字符串。
我认为你会发现The R Inferno最具启发性。