8

谁能告诉我R[[ 中的函数lapply(x, '[[', VarNames[[type]])是什么意思?

4

3 回答 3

5

这是一个提取功能。正如@mnel 所指出的,帮助文件?Extract将为您提供大量信息。

这里有几个使用[[[作为函数的例子,你会使用更正常的基本函数,比如sum tableetc:

> 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"
于 2012-10-31T06:50:15.513 回答
3

它是函数 [[ 提取单个元素。看 ?”[[”

这与您在工作中看到的功能相同

VarNames[[type]]   
于 2012-10-31T06:44:28.950 回答
2

该表达式将导致 'x' 的每个连续值[[作为其第一个参数给出,并被VarNames[[type]]评估并用作第二个参数。结果应该是一系列形式的函数调用:

`[[`( x[[1]], VarNames[[type]] )

请注意,我将其呈现为功能形式。看到这个为第一个单一案例编写的通常方式是:

x[[1]][[ VarNames[[type]]) ]]

第二种形式被 R 解释器解析为第一种形式。

于 2012-10-31T06:54:13.463 回答