R重塑数据框以获得观察的出现总数

R reshape a data frame to get the total number of appearance of an observation

我正在考虑如何像这样重塑数据框:

id type points times
1   A    3       1
2   B    3       2
3   A    3       3
4   B    2       4
5   A    1       5

对此:

points   A    B
1        5    0
2        0    4
3        4    2

所以,我想把点和类型作为列,统计一个点在所有类型中出现的总次数。

您可以使用 reshape2

中的 dcast
reshape2::dcast(dat[-1], points ~ type, fill = 0, fun.aggregate = sum)
#  points A B
#1      1 5 0
#2      2 0 4
#3      3 4 2

或者没有外部包你可以使用xtabs

xtabs(times ~ points + type, data = dat)
#      type
#points A B
#     1 5 0
#     2 0 4
#     3 4 2

使用 tidyverse,您可以:

df %>%
 group_by(type, points) %>%
 summarise(sum = sum(times)) %>%
 spread(type, sum, fill = 0)

  points     A     B
   <int> <dbl> <dbl>
1      1     5     0
2      2     0     4
3      3     4     2