首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将dplyr用于group_by多变量和其他变量的求和

如何将dplyr用于group_by多变量和其他变量的求和
EN

Stack Overflow用户
提问于 2020-06-08 18:10:19
回答 1查看 38关注 0票数 0

我有一个如下所示的dataframe combined_data (这只是一个例子):

代码语言:javascript
复制
Year    state_name       VoS_thousUSD     industry
2008    Alabama          100              Shipping
2009    Alabama          100              Shipping
2008    Alabama          200              Shipping
2010    Alabama          100              Shipping
2010    Alabama          50               Shipping
2010    Alabama          100              Shipping
2008    Alabama          100              Shipping

有多个Yearstate_nameindustry变量,有关联的VoS_thousUSD值,以及我不再需要的其他列。

我在试着制造这个

代码语言:javascript
复制
Year    state_name       VoS_thousUSD     industry
2008    Alabama          400              Shipping
2009    Alabama          100              Shipping
2010    Alabama          250              Shipping

其中,数据文件按Yearstate_nameindustry分组,而VoS_thousand是这些组的和。

到目前为止我已经

代码语言:javascript
复制
combined_data %>%
  group_by(Year, state_name, GCAM_industry) %>% 
  summarise() -> VoS_thousUSD_state_ind

但我不知道如何/在哪里添加VoS_thousUSD的总和。希望使用dplyr管道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 18:12:23

我们可以用

代码语言:javascript
复制
aggregate( VoS_thousUSD~ ., combined_data, FUN = sum)

或使用dplyr

代码语言:javascript
复制
library(dplyr)
combined_data %>%
   group_by(Year, state_name, industry) %>% 
   summarise(VoS_thousUSD = sum(VoS_thousUSD))
# A tibble: 3 x 4
# Groups:   Year, state_name [3]
#   Year state_name industry VoS_thousUSD
#  <int> <chr>      <chr>           <int>
#1  2008 Alabama    Shipping          400
#2  2009 Alabama    Shipping          100
#3  2010 Alabama    Shipping          250

数据

代码语言:javascript
复制
combined_data <- structure(list(Year = c(2008L, 2009L, 2008L, 2010L, 2010L, 2010L, 
2008L), state_name = c("Alabama", "Alabama", "Alabama", "Alabama", 
"Alabama", "Alabama", "Alabama"), VoS_thousUSD = c(100L, 100L, 
200L, 100L, 50L, 100L, 100L), industry = c("Shipping", "Shipping", 
"Shipping", "Shipping", "Shipping", "Shipping", "Shipping")),
class = "data.frame", row.names = c(NA, 
-7L))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62268561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档