【问题标题】:R manipulating data for some value of columnsR为某些列值操作数据
【发布时间】:2021-08-11 06:27:33
【问题描述】:

考虑以下数据:

我想根据条件聚合一些行。 条件是组“A2”和“A3”相同。所以我想根据年份和月份计算这些组的变量总和(Fo、JA 和 KH)。所以预期的输出如下:

这是数据:

#R code
df1<-data.frame(V=rep( paste("A",1:3,sep=""),each=12),
year=rep(c(2020,2021),each=6,len=36),
month=rep(c(1:3),each=2,len=36),
Fo=1:36,JA=36:1,KH=c(1:12,12:1,21:32))
df1

【问题讨论】:

    标签: r dplyr tidyr


    【解决方案1】:

    您可以将'A2'和'A3'组的值更改为'A23'并取不同列的总和。

    library(dplyr)
    
    df1 %>%
      group_by(V = replace(V, V %in% c('A2', 'A3'), 'A23'), year, month) %>%
      summarise(across(Fo:KH, sum))
    

    【讨论】:

    • 不幸的是我的列太多(而不是三个 Fo:KH,如何跨函数处理它?
    • 列的结构如何? Fo:KH 包含从 FoKH 的列,您可以将其更改为 A:Z。还有starts_withcontains等函数可以帮助你选择列。
    猜你喜欢
    • 2023-03-14
    • 2020-02-25
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多