首页 > 解决方案 > 聚合和 cbind 函数说明

问题描述

首先我看不懂聚合函数和 cbind 我需要解释非常简单的单词,其次我有数据

permno number         mean        std
1   10107    120 0.0117174000 0.06802718
2   11850    120 0.0024398083 0.04594591
3   12060    120 0.0005072167 0.08544500
4   12490    120 0.0063569167 0.05325215
5   14593    120 0.0200060583 0.08865493
6   19561    120 0.0154743500 0.07771348
7   25785    120 0.0184815583 0.16510082
8   27983    120 0.0025951333 0.09538822
9   55976    120 0.0092889000 0.04812975
10  59328    120 0.0098526167 0.07135423

我需要处理这个

data_processed2 <- aggregate(cbind(return)~permno, Data_summary, median)

我无法理解这个命令请解释我很简单谢谢!

标签: r

解决方案


cbind需要两个或多个表(数据框),将它们并排放置,然后将它们组合成一个大表。因此,例如,如果您有一个包含 A、B 和 C 列的表,以及另一个包含 D 和 E列的表,那么在cbind它们之后,您将有一个包含五列的表:A、B、C、D 和 E。行,cbind 假定所有表的顺序相同。正如 Rui 所指出的,在您的示例中, cbind 没有做任何事情,因为return它不是一张桌子,即使它是,它也只是一件事。

aggregate获取一个表,将其除以某个变量,然后计算每个组内变量的统计量。例如,如果我有按月和按天计算的销售额数据,我可以按月汇总,并计算每个月每天的平均销售额。

您提供的命令使用以下语法:

aggregate(VARIABLES~GROUPING, DATA, FUNCTION)

变量(cbind(return)- 这实际上没有意义)是计算统计数据的所有变量的列表 分组(pernmo)是将数据分组的变量(在您提供的每一行的样本数据中这个变量有一个唯一的数字,所以这也没有任何意义)。数据是您正在使用的数据框。功能是中位数。

所以这个调用会将 Data_summery 分成具有相同 的组pernmo,并计算每列的中位数。

使用您提供的数据,您基本上会得到同一张表,因为您是按每组一行对数据进行分组... - 实际上,因为您的变量是一个空组,据我所知,你将一无所获。


推荐阅读