20190428-R语言循环函数aggregate、by

Python043

20190428-R语言循环函数aggregate、by,第1张

-Usage

aggregate(x, by, FUN, ..., simplify = TRUE, drop = TRUE)

与tapply类似,但是x可以为data.frame或矩阵;

-Arguments

by

a list of grouping elements, each as long as the variables in the data frame x. The

elements are coerced to factors before use.

-Example

-Usage

by(data, INDICES, FUN, ..., simplify = TRUE)

-Example

将warpbreaks的一二列,根据tension这一列的(L、M、H)运行summary

aggregate与by的区别 :aggregate是对x的每一列分别根据因子进行分组计算,而by是根据因子将data整个分成几个小的data.frame,然后进行运算;

首先,merge的by.x和by.y是针对merge(x,y,...)的第一个参数x和第二个参数y而言的;

然后指定by.x和by.y到底起什么作用呢,by.x和by.y实际上是用来告诉merge函数我们取出x的by.x列和y的by.y列中具有相同取值的行进行合并,其他的丢掉,另外如果指定了其中一个,那么另一个就必须同时指定,不然就报错;

最后,merge(x,y)为默认参数的调用函数( by = intersect(names(x), names(y))),如果x,y有相同的列名,就按那个列具有相同的取值的行进行合并,x在前面,y在后面,相同的列名不再重复,如果x,y没有相同的列名,就把x的每一行和y的每一行合并一次。

以上就是merge的by,by.x,by.y参数的说明,Rstudio中有相关的帮助文档(help(merge)),楼主可以运行实例自己体会下。