我很困惑R如何处理列表和数据框。例如:
agg = function() {
df1 = data.frame(a=1:5,b=1:5)
df2 = data.frame(a=11:15,b=11:15)
return(list(df1, df2))
}
res = agg()
# returns NULL
res[1]$a
# returns 1:5
res[[1]]$a
我不理解为什么res的第一个元素不是数据框,而需要进行两次引用才能获取元素。我阅读了Hadley Wickham在其高级R网站上的出色的“数据结构”章节,但仍然无法理解这个例子的问题所在。有人能够解释一下我错过了什么吗?
[[
的含义感到困惑。因为你没有嵌套[
,所以将其称为“双引用”可能不准确。[[
是它自己的运算符(实际上是一个函数)。 - shadowtalker