首页 > 解决方案 > 如何折叠一个数据集以在新数据集中获取增量实例?

问题描述

我正在尝试将一个具有以下分析单位的数据框折叠起来:country-pta-yea 为 country-year。我尝试了 group_by 并汇总,但它会汇总所有值,而不是增量添加它们,因为每个 PTA 在不同年份都存在每个“值”观察值。下面是我拥有的数据框(df)和我想要实现的数据框(df2)。

接下来我该怎么办?

country <- c("USA","USA","USA","USA","USA","USA")
year <- c(2000,2001,2002,2000,2001,2002)
pta <- c("a","a","a","y","y","y")
value <- c(0,1,1,0,0,1)

df <- data.frame(country, year,pta, value)

country1 <- c("USA","USA","USA")
year1 <- c(2000,2001,2002)
value1 <- c(0,1,2)

df2 <- data.frame(country1,year1, value1)

标签: rdplyr

解决方案


它是一个group by,sum即按'国家','年份'分组,得到sum价值

library(dplyr)
df %>% 
   group_by(country, year) %>% 
   summarise(value = sum(value, na.rm = TRUE), .groups = 'drop')

推荐阅读