使用R根据分类变量的计数创建新变量

时间:2017-12-07 20:39:55

标签: r

我有一个数据集,其中包含一个标识符变量(census_tract_number)和一个包含五个类别的分类变量(action_taken_name)。我试图弄清楚如何创建一个新的数据框架,将每个类别分成一个变量,并按census_tract_number显示每个类别的频率。我已经想出如何创建一个带有计数的频率变量,但我希望每个类别都是一个单独的变量,下面有计数。

Screenshot of dataset

1 个答案:

答案 0 :(得分:0)

library(tidyr)
df <- data.frame(census_tract_number=c(1,1,1,2,2,2,2,2,2),
                 action_take_name=c('a','b','c','d','a','b','e','c','f'),
                 freq=c(2,2,4,5,28,20,5,40,23))

results <- df %>% spread(action_take_name,freq,fill=0)

results 
  census_tract_number  a  b  c d e  f
1                   1  2  2  4 0 0  0
2                   2 28 20 40 5 5 23