R中的函数lapply(x,'[[,VarNames [[type]])中的[[“意味着什么?

时间:2012-10-31 06:35:03

标签: r

有人能告诉我[[在R中的函数lapply(x, '[[', VarNames[[type]])中的含义吗?非常感谢!

3 个答案:

答案 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解释器解析为第一种形式。