R.1代表..1和..2代表什么?

时间:2014-10-25 13:22:29

标签: r reserved-words

引用R语言定义:

  

请注意,默认情况下,以句点开头的标识符不是   由ls函数列出并且'。'和'..1','。。2'等等   特殊。

     

以下标识符具有特殊含义,无法使用   对于对象名称,如果否则重复,而函数为下一个休息时为TRUE   FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_   ...... ..1.2等。

然而,它没有提供任何进一步的细节。任何人都可以详细说明吗?

1 个答案:

答案 0 :(得分:8)

这些用于从函数的...参数中定位提取值。见下面的例子:

myfun <- function(...) {
   list(a = ..1, b = ..2, c = ..3)
}

myfun(1,2,3)
# $a
# [1] 1
# $b
# [1] 2
# $c
# [1] 3

myfun(3,2,1)
# $a
# [1] 3
# $b
# [1] 2
# $c
# [1] 1

myfun(1:5, "hello", letters[1:3])
# $a
# [1] 1 2 3 4 5
# $b
# [1] "hello"
# $c
# [1] "a" "b" "c"

如果您尝试从控制台调用其中一个,则此用法很明显:

> ..1
Error: ..1 used in an incorrect context, no ... to look in