【问题标题】:How to aggregate by one column to build rows while aggregation in other columns transforms into new columns?如何按一列聚合以构建行,而其他列中的聚合转换为新列?
【发布时间】:2018-03-02 09:19:39
【问题描述】:

我对 R 比较陌生,但我仍然无法解决某个聚合问题;我有这种形式的信息:

SubjectType   Subtype
---------------------
TypeA            1
TypeB            2
TypeC            1
TypeB            1
TypeA            1

我想把它转换成下面的形式:

SubjectType   #(Subtype=1)  #(Subtype=2)
---------------------------------------- 
TypeA              2             0
TypeB              1             1
TypeC              1             0

我试图通过使用聚合函数来实现这一点,但到目前为止我失败了。 这甚至可以用一个聚合(...)来完成吗?

【问题讨论】:

    标签: r dataframe aggregate


    【解决方案1】:

    我通过使用库 dplyr 实现了我想要的。

    library(dplyr);
    
    subtype1 <- myData %>% group_by(myData$SubjectType) %>% summarize(subtype1 = sum(Subtype==1));
    subtype2 <- myData %>% group_by(myData$SubjectType) %>% summarize(subtype1 = sum(Subtype==2));
    
    merge(subtype1, subtype2);
    

    【讨论】:

      猜你喜欢
      • 2019-03-27
      • 2020-12-18
      • 2019-10-07
      • 2021-07-17
      • 1970-01-01
      • 2021-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多