2016-07-22 68 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級迭代循環元素。 –