我有一个清单
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
括号表示法更简洁,但我不知道如何以这种方式使用蓝宝石
答案 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