汇总每列和每行的数据

Ian*_*the -3 r dataframe

我在下面有一个示例数据框.(1表示是,2表示否)

Age Range        Ans
10 - 20           1 
21 - 30           2
31 - 40           1
10 - 20           2
21 - 30           2 
21 - 30           1
21 - 30           2
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Age_Range        Yes        No
10 - 20           1         1
21 - 30           1         3
31 - 40           1         0
Run Code Online (Sandbox Code Playgroud)

我怎么能在R?

jos*_*ber 6

在基地R,你基本上只是要求table:

table(dat$Age.Range, dat$Ans)
#           1 2
#   10 - 20 1 1
#   21 - 30 1 3
#   31 - 40 1 0
Run Code Online (Sandbox Code Playgroud)

如果您想将其转换为您的列名:

tab <- table(dat$Age.Range, dat$Ans)
data.frame(Age_Range=rownames(tab), Yes=tab[,"1"], No=tab[,"2"])
#         Age_Range Yes No
# 10 - 20   10 - 20   1  1
# 21 - 30   21 - 30   1  3
# 31 - 40   31 - 40   1  0
Run Code Online (Sandbox Code Playgroud)