2014-06-12 43 views
2

我有很大的名單,列表中的每個組件。我需要獲取名爲cv的變量的值。它與其他列表工作,但在某些列表我面對錯誤:如何從R中的列表中濾除原子向量?

Error in x$cvm : $ operator is invalid for atomic vectors 

我怎樣可以過濾掉從我的名單這個載體運行我的代碼之前?

這裏是我的代碼做:

MES<-lapply(mylist, function(x) x$cvm[x$lambda == x$lambda.min]) 

它工作得很好,但在某些列表中,它的產生已經提到的錯誤。

回答

3

$是有效的,例如,列表(和環境,但可能不是你的情況)。要篩選出所有不是列表的元素,請致電:

mylist2 <- mylist[sapply(mylist, is.list)]