从R中的列表中删除""元素

Eri*_*win 2 r

我有一个列表,我想删除空字符:"".

我似乎错误地对元素进行了子集化:

> sample2[which(sample2 == "")]
list()
> sample2[which(sample2 != "")]
[[1]]
 [1] ""          "03JAN1990" ""          ""          ""         
 [6] ""          "23.4"      "0.4"       ""          ""         
[11] ""          ""          "25.1"      "0.3"       ""         
[16] ""          ""          ""          "26.6"      "0.0"      
[21] ""          ""          ""          ""          "28.6"     
[26] "0.3"   
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能分组并删除空字符?

MrF*_*ick 6

从您的输出,它看起来sample2不是一个字符向量,但它是一个包含字符向量的列表.你应该使用

sample2[[1]][which(sample2[[1]] != "")]
Run Code Online (Sandbox Code Playgroud)

(这有助于dput(sample2)确认)

或者甚至更好,首先从列表中取出字符向量

sample3 <- sample2[[1]]
# or maybe sample3 <- unlist(sample2)
sample3[which(sample3 != "")]
Run Code Online (Sandbox Code Playgroud)