Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中关于ddply的语法_R_Syntax_Plyr - Fatal编程技术网

R中关于ddply的语法

R中关于ddply的语法,r,syntax,plyr,R,Syntax,Plyr,有人能解释为什么在下面的R语句中,在playerID之前会有一个句点吗 dataframe.AB<-ddply(Batting, .(playerID), summarize, Career.AB=sum(AB, na.rm=TRUE)) 我看到这场争论通过了一些关于c。。。函数…不确定这里发生了什么。我应该提到playerID是击球数据帧中的一个变量 谢谢。只有当您想使用表达式,例如.playerID+1时,才需要使用此选项。这个函数告诉ddply在您案例中的数据处理上下文中捕获和计算

有人能解释为什么在下面的R语句中,在playerID之前会有一个句点吗

dataframe.AB<-ddply(Batting, .(playerID), summarize, Career.AB=sum(AB, na.rm=TRUE))
我看到这场争论通过了一些关于c。。。函数…不确定这里发生了什么。我应该提到playerID是击球数据帧中的一个变量


谢谢。

只有当您想使用表达式,例如.playerID+1时,才需要使用此选项。这个函数告诉ddply在您案例中的数据处理上下文中捕获和计算表达式。如果您只想按未修改的列分组,则可以将该列的名称作为字符向量传递,例如playerID或cplayerID、someOtherColumnName以按多个列分组。关于我的评论,请参见plyr p6-7:

在对数据帧进行操作时,通常需要根据数据集中变量的组合将其拆分为多个组。对于d*ply,指定要使用的变量或变量函数。这些变量以特殊方式指定,以突出显示它们首先从数据框计算,然后从全局环境计算。在这种情况下,您有责任确保它们的长度等于数据框中的行数

.var1将数据帧拆分为由var1变量的值定义的组。如果您使用多个变量,.a、b、c,这些组将由变量的交互作用形成,并且输出将用所有三个变量标记

您还可以使用变量的函数:.rounda、.a*b。输出到数据帧时,可能会产生make.names生成的丑陋名称,但您可以通过在调用中指定名称来覆盖它们:.product=a*b

或者,您可以使用两种更熟悉的方式来描述拆分: 作为列名的字符向量:cvar1,var2


我把它放在评论中是因为它不能直接回答你的问题,但我认为dplyr超越plyr主要是因为速度。在dplyr中,这将被写为击球%。%group_byplayerId%。%summariseCareer.AB=sumAB,na.rm=TRUE.help。这也是相关的。