如何从R中的列表中过滤出原子矢量?

时间:2014-06-12 13:44:52

标签: r

我有一个非常大的列表,该列表的每个组成部分。我需要获取名为cv的变量调用的值。它可以与其他列表一起使用,但在某些列表中我遇到错误:

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

如何在运行代码之前从列表中过滤掉这些向量?

以下是我的代码所做的事情:

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

效果很好,但在某些列表中,它会产生已经提到的错误。

1 个答案:

答案 0 :(得分:3)

$有效,例如对于列表(和环境,但可能不是你的情况)。要过滤掉所有非列表的元素,请调用:

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