如何聚合一列来构建行,而其他列中的聚合转换为新列?

时间:2018-03-02 09:19:39

标签: r dataframe aggregate

我对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

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

1 个答案:

答案 0 :(得分: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);