我在R中有以下数据帧:

 Y       ...    Price      Year           Quantity      Country    
010190   ...   4781       2021               4           Germany    
010190   ...   367        2021               3           Germany 
010190   ...   4781       2021               6           France    
010190   ...   250        2021               3           France    
020190   ...   690        2021               NA          USA        
020190   ...   10         2021               6           USA  
......         ...         ....              ..          ...   
217834  ...    56        2021                3           USA        
217834 ...     567       2021                9           USA        

正如你在Y栏中看到的数字,从01开始..,02..., 21... 我想通过考虑不同的分类列(例如CountryYear)和数字列(例如QuantityPrice)的总和,将此类行从6位数聚合到2位数.此外,我还想在计算期间考虑使用NAs的行.所以,最终我想要这样的输出:

 Y     Price      Year          Quantity   Country
01     5148       2021           7         Germany
01     5031       2021           9          USA
02     700        2021           6          USA
..     ....       ...           ....        ...      
21     623        2021           12         USA

推荐答案

更新:请求:

library(dplyr)
df %>% 
  mutate(Y = substr(Y, 1, 2)) %>% 
  group_by(Y, Year, Country) %>% 
  summarise(across(c(Price, Quantity), ~sum(., na.rm = TRUE)))

我们可以使用substr来获得Ygroup_by中的前两个字符,以及summarise()sum()中的前两个字符

library(dplyr)
df %>% 
  mutate(Y = substr(Y, 1, 2)) %>% 
  group_by(Y, Year, Country) %>% 
  summarise(Price = sum(Price, na.rm = TRUE),
            Quantity = sum(Quantity, na.rm = TRUE)
            )
  Y      Year Country Price Quantity
  <chr> <dbl> <chr>   <dbl>    <dbl>
1 01     2021 France   5031        9
2 01     2021 Germany  5148        7
3 02     2021 USA       700        6
4 21     2021 USA       623       12

R相关问答推荐

将第二个图放置在ggplot 2中另一个图的x轴上

创建计数(带重置)变量

如果索引重复,聚合xts核心数据

使用R的序列覆盖

如何修复R码的置换部分?

在不安装软件包的情况下测试更新

根据多个条件增加y轴高度以适应geom_text标签

如何在Chart_Series()中更改轴值的 colored颜色 ?

使用较长的查询提取具有部分匹配的列表中的较短目标,

使用for循环和粘贴创建多个变量

从圆到R中的多边形的标绘雷达图

将箭头绘制在图形外部,而不是图形内部

从R中发出的咕噜声中的BUG?

自动STAT_SUMMARY统计与手动标准误差之间的差异

在R中使用列表(作为tibble列)进行向量化?

有没有办法一次粘贴所有列

我是否可以使用多个变异项来构建顺序列(标记多个问题)

快速合并R内的值

在同一单元格中创建包含整数和百分比的交叉表

R:使用ApexCharge更改标签在饼图中的位置