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

问题描述 投票:1回答:1

我对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实现这一点,但到目前为止我失败了。这甚至可以用一个聚合(...)来完成吗?

r dataframe aggregate
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.