Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用dplyr按多个变量对_进行分组并对其他变量求和_R_Dplyr - Fatal编程技术网

如何使用dplyr按多个变量对_进行分组并对其他变量求和

如何使用dplyr按多个变量对_进行分组并对其他变量求和,r,dplyr,R,Dplyr,我有一个数据框组合的\u数据,看起来像这样(这只是一个示例): 有多个年份,州名,以及行业 变量,具有关联的VoS__usd值,以及我不再需要的其他列 我正在努力制作这个 Year state_name VoS_thousUSD industry 2008 Alabama 400 Shipping 2009 Alabama 100 Shipping 2010 Ala

我有一个数据框
组合的\u数据
,看起来像这样(这只是一个示例):

有多个
年份
州名
,以及
行业
变量,具有关联的
VoS__usd
值,以及我不再需要的其他列

我正在努力制作这个

Year    state_name       VoS_thousUSD     industry
2008    Alabama          400              Shipping
2009    Alabama          100              Shipping
2010    Alabama          250              Shipping
其中,数据帧按
年份
州名
行业
进行分组,
VoS\u千
是这些组的总和

到目前为止我有

combined_data %>%
  group_by(Year, state_name, GCAM_industry) %>% 
  summarise() -> VoS_thousUSD_state_ind
但是我不知道如何/在哪里加上
VoS_千美元
。希望使用dplyr管道。

我们可以使用

aggregate( VoS_thousUSD~ ., combined_data, FUN = sum)

或使用
dplyr

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
库(dplyr)
组合_数据%>%
按(年份、州名称、行业)划分的集团%>%
总结(千美元=总额(千美元))
#一个tibble:3x4
#分组:年份、州名称[3]
#年份国家名称行业VoS(千美元)
#                    
#1 2008阿拉巴马航运400
#2 2009阿拉巴马航运100
#3 2010年阿拉巴马航运250
数据
combined\u data Change
summary()
to
summary(Vos\u-000usd=sum(Vos\u-000usd))
。当我的页面在关闭后重新加载时,你的答案也加载了它。“评论”和“关闭”不是比一次又一次地写同一个答案更有效吗?@akrun,那一个有点扭曲!我肯定我错过了很多-按组求和,按组平均,排序,合并,我肯定最常见的问题有1000个未标记的重复。但是当我看到它并在其中时,我会尝试关闭它。我被要求不要使用聚合函数,而是使用tidyverse管道。还有可能吗?@MarideeWeber我补充道
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
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))