从 R 中的因子记录创建变量

Creating variables from factor records in R

我有点迷路了,我有一个如下所示的数据框:

tract   ageClass    count
    1      [0-4]       71
    2      [0-4]      192
    3      [0-4]       81
    1      [5-8]        9
    2      [5-8]       86
    3      [5-8]       42

我想要这样的结果:

tract   [0-4]   [5-8]
    1      71       9
    2     192      86
    3      81      42

我在互联网上寻找解决方案已经有一段时间了,但到目前为止还没有...有什么想法吗?

非常感谢!

ageClass <- c("[0-4]", "[5-8]")
ageClassDF <- lapply(ageClass, function(x) dx[which(dx$ageClass==x), ])

ageClassDF <- Reduce(function(...) merge(..., by = "tract.1", all = TRUE), ageClassDF )

我能想到的三个可能的选项(假设你的数据集叫df

xtabs(count ~ tract + ageClass, df) 
#       ageClass
# tract [0-4] [5-8]
#     1    71     9
#     2   192    86
#     3    81    42

library(reshape2)
dcast(df, tract ~ ageClass, value.var = "count") 
#   tract [0-4] [5-8]
# 1     1    71     9
# 2     2   192    86
# 3     3    81    42

library(tidyr)
spread(df, ageClass, count)
#   tract [0-4] [5-8]
# 1     1    71     9
# 2     2   192    86
# 3     3    81    42