根据另外四列中的 values/factors 在一列中聚合数据
Aggregate data in one column based on values/factors in four another columns
我的 R 脚本中有一个数据框,看起来像这样:
> head(species.prop)
Source: local data frame [6 x 5]
year month area species catch.p
(dbl) (dbl) (chr) (chr) (dbl)
1 1998 4 VI hom 17.25
2 1998 5 VII pil 17.25
3 2000 4 VI hom 40.25
4 1998 4 IV hom 27.60
5 2000 1 VII pil 46.00
6 1998 4 VI pil 8.05
我想做的是改变数据框,这样它就会给我 catch.p 每个物种每个区域每年每个月的总和。结果应该是一个像上面那样的数据框,所有列标题都相同。
我试过聚合:
> aggregate(catch.p~area~species~month~year, species.prop,sum)
错误 model.frame.default(公式 = catch.p ~ 地区 ~ 物种 ~ 月份 ~ :
object 不是矩阵
但无法弄清楚如何在此处正确应用此功能
有人知道怎么做吗?
万分感谢!!
在 R 中使用 dplyr 包。
species.prop %>% group_by(species, area, month, year) %>% summarise(catch.p = sum(catch.p))
根据给定的数据,结果看起来像
来源:本地数据框[6 x 5]
群体:物种、地区、月份[?]
species area month year catch.p
(fctr) (fctr) (dbl) (dbl) (dbl)
1 hom IV 4 1998 27.60
2 hom VI 4 1998 17.50
3 hom VI 4 2000 40.25
4 pil VI 4 1998 8.05
5 pil VII 1 2000 46.00
6 pil VII 5 1998 17.50
但为了向您展示这是如何工作的,我更改了提交给 Area = VII 和 month = 5 的原始数据中的第 6 行,它看起来像
来源:本地数据框[5 x 5]
群体:物种、地区、月份[?]
species area month year catch.p
(fctr) (fctr) (dbl) (dbl) (dbl)
1 hom IV 4 1998 27.60
2 hom VI 4 1998 17.50
3 hom VI 4 2000 40.25
4 pil VII 1 2000 46.00
5 pil VII 5 1998 25.55
我的 R 脚本中有一个数据框,看起来像这样:
> head(species.prop)
Source: local data frame [6 x 5]
year month area species catch.p
(dbl) (dbl) (chr) (chr) (dbl)
1 1998 4 VI hom 17.25
2 1998 5 VII pil 17.25
3 2000 4 VI hom 40.25
4 1998 4 IV hom 27.60
5 2000 1 VII pil 46.00
6 1998 4 VI pil 8.05
我想做的是改变数据框,这样它就会给我 catch.p 每个物种每个区域每年每个月的总和。结果应该是一个像上面那样的数据框,所有列标题都相同。
我试过聚合:
> aggregate(catch.p~area~species~month~year, species.prop,sum)
错误 model.frame.default(公式 = catch.p ~ 地区 ~ 物种 ~ 月份 ~ : object 不是矩阵
但无法弄清楚如何在此处正确应用此功能
有人知道怎么做吗?
万分感谢!!
在 R 中使用 dplyr 包。
species.prop %>% group_by(species, area, month, year) %>% summarise(catch.p = sum(catch.p))
根据给定的数据,结果看起来像
来源:本地数据框[6 x 5] 群体:物种、地区、月份[?]
species area month year catch.p
(fctr) (fctr) (dbl) (dbl) (dbl)
1 hom IV 4 1998 27.60
2 hom VI 4 1998 17.50
3 hom VI 4 2000 40.25
4 pil VI 4 1998 8.05
5 pil VII 1 2000 46.00
6 pil VII 5 1998 17.50
但为了向您展示这是如何工作的,我更改了提交给 Area = VII 和 month = 5 的原始数据中的第 6 行,它看起来像
来源:本地数据框[5 x 5] 群体:物种、地区、月份[?]
species area month year catch.p
(fctr) (fctr) (dbl) (dbl) (dbl)
1 hom IV 4 1998 27.60
2 hom VI 4 1998 17.50
3 hom VI 4 2000 40.25
4 pil VII 1 2000 46.00
5 pil VII 5 1998 25.55