通过计算分类变量的出现次数来创建列

时间:2017-06-02 09:30:43

标签: r count indicator

我想创建几个变量来计算每个var的{​​{1}}值的出现次数。这是一个例子:

user.id

预期结果:

user.id     var
  1          A
  1          B
  2          A
  2          A
  2          C
  3          C

1 个答案:

答案 0 :(得分:0)

我们可以使用tidyverse

执行此操作
library(tidyverse)
df1 %>%
    count(user.id, var) %>% 
    spread(var, n, fill = 0)
# A tibble: 3 x 4
#  user.id     A     B     C
#*   <int> <dbl> <dbl> <dbl>
#1       1     1     1     0
#2       2     2     0     1
#3       3     0     0     1

data.table

更有效的方法
library(data.table)
dcast(setDT(df1), user.id ~ var)