2016-07-22 59 views
1

这是我得到的List的dput()输出(的一部分)。从列表中选择字符(0)

L<-list(c("LumenVox LLC", "LumenVox LLC", "Voxware Inc", "LumenVox LLC", 
     "Voxware Inc", "Voxant Inc"),character(0), character(0), character(0), 
     character(0), c("HumanZyme Inc", "ZymeQuest Inc", "Zymetx Inc", 
     "Zymetx Inc")) 
[[1]] 
[1] "LumenVox LLC" "LumenVox LLC" "Voxware Inc" "LumenVox LLC" "Voxware Inc" "Voxant Inc" 

[[2]] 
character(0) 

[[3]] 
character(0) 

[[4]] 
character(0) 

[[5]] 
character(0) 

[[6]] 
[1] "HumanZyme Inc" "ZymeQuest Inc" "Zymetx Inc" "Zymetx Inc" 

它要么包含一个特征向量,或字符(0)..我想只选择那些写成文字(0)的元素,但我不知道怎么办。任何人都可以帮助我吗?

+0

我不认为标签上的标签是正确的,因为OP正在寻求别的东西。 – akrun

回答

2

我们可以使用Filter

Filter(Negate(length), L) 

或者另一种选择是sapply

L[!sapply(L, length)] 

或者作为@MartinMorgan提到lengths(在新近的R版本中引入的)都可以使用(这将更快)

L[!lengths(L)) 
+0

哦!所以,字符(0)没有长度。谢谢! – Darren

+2

更好的使用'L [长度(L)== 0L)',它避免了在R级迭代循环元素。 –