创建最大值的摘要 table
Creating a summary table of maximum values
我有一个平均流量的每日数据矩阵,想制作一个显示最大峰值流量的汇总矩阵。这是我的数据的一些示例:
x<-c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100)
flow<-matrix(c(c(rep(1990,365),rep(1991,365),rep(1992,365)),sample(x,(365*3), replace=TRUE)),nrow=(365*3), ncol=2)
我希望汇总矩阵的格式为第 1 列中的年份和第 2 列中当年的峰值流量事件。这是我希望如何格式化汇总矩阵的示例。
summary=matrix(, ncol=2, nrow=3)
summary[,1]=c(1990,1991,1992)
这应该很接近:
DF <- as.data.frame(flow)
names(DF) <- c("year", "flow")
DF$year <- as.factor(DF$year)
res <- aggregate(flow ~ year, data = DF, FUN = max)
并给出:
year flow
1 1990 100
2 1991 100
3 1992 100
以数据框的形式。
以及 dplyr 函数系列(基于@Bryans 的工作):
DF <- as.data.frame(flow)
names(DF) <- c("year", "flow")
group_by(DF, year) %>% summarize(flow = max(flow))
给出:
Source: local data frame [3 x 2]
year flow
1 1990 100
2 1991 100
3 1992 100
我有一个平均流量的每日数据矩阵,想制作一个显示最大峰值流量的汇总矩阵。这是我的数据的一些示例:
x<-c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100)
flow<-matrix(c(c(rep(1990,365),rep(1991,365),rep(1992,365)),sample(x,(365*3), replace=TRUE)),nrow=(365*3), ncol=2)
我希望汇总矩阵的格式为第 1 列中的年份和第 2 列中当年的峰值流量事件。这是我希望如何格式化汇总矩阵的示例。
summary=matrix(, ncol=2, nrow=3)
summary[,1]=c(1990,1991,1992)
这应该很接近:
DF <- as.data.frame(flow)
names(DF) <- c("year", "flow")
DF$year <- as.factor(DF$year)
res <- aggregate(flow ~ year, data = DF, FUN = max)
并给出:
year flow
1 1990 100
2 1991 100
3 1992 100
以数据框的形式。
以及 dplyr 函数系列(基于@Bryans 的工作):
DF <- as.data.frame(flow)
names(DF) <- c("year", "flow")
group_by(DF, year) %>% summarize(flow = max(flow))
给出:
Source: local data frame [3 x 2]
year flow
1 1990 100
2 1991 100
3 1992 100