【问题标题】:Count from long to wide format [duplicate]从长格式到宽格式计数[重复]
【发布时间】:2020-01-27 21:38:16
【问题描述】:

有这样的长格式:

df <- data.frame(id = c(1,1,1,2,2), text = c("stock","arrange","stock","arrange","arrange"))

如何接收使文本列中的变量成为新列的宽格式,这些新列的值是存在的数字? 预期输出示例:

data.frame(id = c(1,2) stock = c(2,0), arrange = c(1,2))

【问题讨论】:

  • 另见hereherehereherehere。这是一种已经被广泛覆盖的计算类型,因此首先尝试查看已经发布的帖子会很有帮助

标签: r


【解决方案1】:

如果您需要它作为 data.frame,这里有一个 data.table 选项

library(data.table)
setDT(df)

dcast(df, id ~ text, fun.aggregate = length)
#    id arrange stock
# 1:  1       1     2
# 2:  2       2     0

【讨论】:

    【解决方案2】:

    我们可以使用table 来获取频率计数

    table(df)
    

    【讨论】:

    • 如何将结果保存为数据框格式?
    • @Nathalie as.data.frame.matrix(table(df))
    猜你喜欢
    • 2020-05-18
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2015-11-24
    • 2020-10-23
    • 2016-07-12
    相关资源
    最近更新 更多