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

R使用[]从列表中抓取元素,r,R,我有一张单子 MyList <- lapply(1:10, function(i) list(x=i, y=i^2)) 我想用括号抓住它 sapply(MyList, [['x']] ) ## does not work 括号表示法更简洁,但我不知道如何以这种方式使用sapplysapply函数需要一个函数作为其第二个参数 sapply(List, `[[`, 'x') 如果要像调用函数一样调用[[x]],则必须使用[[ 因此: 您还可以使用更直观的命名函数getElement: s

我有一张单子

MyList <- lapply(1:10, function(i) list(x=i, y=i^2))
我想用括号抓住它

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

括号表示法更简洁,但我不知道如何以这种方式使用sapply
sapply
函数需要一个函数作为其第二个参数

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

如果要像调用函数一样调用
[[x]]
,则必须使用
[[

因此:

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

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