有人能告诉我[[
在R中的函数lapply(x, '[[', VarNames[[type]])
中的含义吗?非常感谢!
答案 0 :(得分:3)
这是一个提取功能。正如@mnel所说,?Extract
的帮助文件会为您提供大量信息。
以下是使用[[
和[
作为函数的几个示例,您可以使用更常规的基本函数,例如sum
table
等:
> test <- list(a=1:10,b=letters[1:10])
> test
$a
[1] 1 2 3 4 5 6 7 8 9 10
$b
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
> "[["(test,1)
[1] 1 2 3 4 5 6 7 8 9 10
> "[["(test,2)
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
> "["(test,1)
$a
[1] 1 2 3 4 5 6 7 8 9 10
> "["(test,2)
$b
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
答案 1 :(得分:2)
它是[[提取单个元素的功能]。见?“[[”
这与您在
中看到的功能相同VarNames[[type]]
答案 2 :(得分:2)
该表达式将导致'x'的每个连续值作为其第一个参数被赋予[[
,并且VarNames[[type]]
被评估并用作第二个参数。结果应该是一系列函数调用:
`[[`( x[[1]], VarNames[[type]] )
注意我将此作为功能表单提供。看到第一个案例的通常方式是:
x[[1]][[ VarNames[[type]]) ]]
第二种形式被R解释器解析为第一种形式。