在R中创建多维数据透视表
我有以下数据框:在R中创建多维数据透视表,r,dataframe,pivot-table,R,Dataframe,Pivot Table,我有以下数据框: Event Scenario Year Cost 1 1 1 10 2 1 1 5 3 1 2 6 4 1 2 6 5 2 1 15 6 2 1 12 7 2 2 10
Event Scenario Year Cost
1 1 1 10
2 1 1 5
3 1 2 6
4 1 2 6
5 2 1 15
6 2 1 12
7 2 2 10
8 2 2 5
9 3 1 4
10 3 1 5
11 3 2 6
12 3 2 5
我需要生成一个透视表/框架,该透视表/框架将汇总每个场景每年的总成本。因此,结果将是
Scenario Year Cost
1 1 15
1 2 12
2 1 27
2 2 15
3 1 9
3 2 11
我需要生成一个ggplot折线图,绘制每年每个场景的成本。我知道怎么做,就是找不到正确的数据帧。试试看
library(dplyr)
df %>% group_by(Scenario, Year) %>% summarise(Cost=sum(Cost))
或
或
数据
df试试看
或
或
数据
df以下操作:
library(plyr)
ddply(df, .(Scenario, Year), summarize, Cost = sum(Cost))
#Scenario Year Cost
#1 1 1 15
#2 1 2 12
#3 2 1 27
#4 2 2 15
#5 3 1 9
#6 3 2 11
它的作用如下:
library(plyr)
ddply(df, .(Scenario, Year), summarize, Cost = sum(Cost))
#Scenario Year Cost
#1 1 1 15
#2 1 2 12
#3 2 1 27
#4 2 2 15
#5 3 1 9
#6 3 2 11
备选方案1和3同样有效。感谢选项1和3同样有效。谢谢
df <- structure(list(Event = 1:12, Scenario = c(1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 3L, 3L, 3L, 3L), Year = c(1L, 1L, 2L, 2L, 1L, 1L,
2L, 2L, 1L, 1L, 2L, 2L), Cost = c(10L, 5L, 6L, 6L, 15L, 12L,
10L, 5L, 4L, 5L, 6L, 5L)), .Names = c("Event", "Scenario", "Year",
"Cost"), class = "data.frame", row.names = c(NA, -12L))
library(plyr)
ddply(df, .(Scenario, Year), summarize, Cost = sum(Cost))
#Scenario Year Cost
#1 1 1 15
#2 1 2 12
#3 2 1 27
#4 2 2 15
#5 3 1 9
#6 3 2 11