R Plyr包中变量之前的点(即"变量")的目的是什么?

时间:2013-01-30 16:26:57

标签: r plyr

R Plyr包中变量(即“变量”)之前点的目的是什么?

例如,来自R帮助文件:

ddply(.data, .variables, .fun = NULL, ...,
    .progress = "none", .drop = TRUE, .parallel = FALSE)

非常感谢任何帮助

2 个答案:

答案 0 :(得分:11)

可能有两件事令你感到困惑。

一个是'plyr'包中的.函数。 .函数允许您将变量用作链接,而不是引用变量包含的值。例如,在某些函数中,我们想要引用对象x而不是x中存储的值。在“基础”包中,没有简单,简洁的方法,所以我们使用'plyr'包来说.(x)。 'plyr'函数本身就是这样使用的:

ddply(data, .(row_1), summarize, total=sum(row_1))

如果我们没有使用.函数,'ddply'会抱怨,因为'row_1'包含很多值,当我们真的只想引用该对象时。

另一个“。”这里的行为是人们将它用作函数参数名称中的字符的方式。我不确定原点是什么,但是很多人似乎只是为了突出显示哪些变量是函数参数以及哪些变量只是函数内部代码的一部分。 “。”在这种情况下,只是另一个角色。

答案 1 :(得分:6)

来自http://www.jstatsoft.org/v40/i01

请注意,所有参数都以。这可以防止与处理函数的参数发生名称冲突,并有助于直观地描述控制控制各个步骤的参数的重复的参数。基本R中的某些函数全部使用大写 为此目的的参数名称,但我认为这种方法更容易键入和读取。