2016-06-21 15 views
1

我有一個列表,其中每個元素是一個字符串。碰巧一些元素是空的字符向量。如何在列表中查找空向量?

我想獲得所有這些空元素的索引,但還沒有找到傳遞它們的語法。

my.list <- lapply(c("I", "am", "not", "empty"), function(x) x) 
my.list[[5]] <- character(0) 
my.list[[6]] <- character(0) 

所有的事情我已經試過(如my.list==""my.list==character(0))提供完全不同的東西。如果我沒有列出清單,它突然錯過了空的元素,只有4個元素。

查找空字符向量的正確語法是什麼?

+6

嘗試'長度(my.list)'' –

回答

1

你可以使用length

lapply(my.list, length) == 0

對於具體特徵向量,

f <- function(v){ 

    is.character(v) && length(v) == 0 

} 

vapply(my.list, f, logical(1)) 

你要知道,理查德·德福的評論是最好的回答你的問題。

2
which(sapply(my.list,length)==0) 
+1

sapply(my.list,長度)'現在都可以在較新的R版本中用長度(my.list)替換 –

3

您可以使用R3.2版本,從中lengths功能可用:

which(!lengths(my.list)) 
[1] 5 6