使用[[]]从列表中获取R元素

时间:2018-03-11 18:58:50

标签: r

我有一个清单

MyList <- lapply(1:10, function(i) list(x=i, y=i^2))

我可以使用function()

来抓取元素
sapply(MyList, function(i) i$x) ## works

我想用方括号

抓住
sapply(MyList, [['x']] ) ## does not work

括号表示法更简洁,但我不知道如何以这种方式使用蓝宝石

2 个答案:

答案 0 :(得分:3)

sapply函数需要一个函数作为其第二个参数。

sapply(List, `[[`, 'x')

答案 1 :(得分:0)

如果您想像某个功能一样致电[[x]],您必须使用[[

所以:

sapply(MyList, "[[", "x")
[1]  1  2  3  4  5  6  7  8  9 10

您还可以使用更直观命名的函数getElement

sapply(MyList, getElement, "x")
[1]  1  2  3  4  5  6  7  8  9 10