【发布时间】:2021-12-29 21:10:36
【问题描述】:
我的数据样本如下:
id = c(1, 2, 3, 4, 5, 1, 4, 7, 8, 3)
date = c("2020-12-31", "2020-12-31", "2020-12-31", "2020-12-31",
"2020-12-31", "01-01-2021", "01-01-2021", "01-01-2021", "01-01-2021",
"01-01-2021")
total = c(1, 4, 4, 15, 0, 12, 1, 1, 1, 0)
data = data.frame(id, date, total)
我正在尝试计算每个日期出现“总”值的次数。例如,对于日期"2020-12-31",值4 出现两次,但值1 只出现一次,因为它在该日期出现15 和0。然后对于日期"01-01-2021",值1 出现三次,依此类推。本质上,我希望 out 导致:
day = c("2020-12-31", "01-01-2021")
one = c(1, 3)
two = c(0, 0)
three = c(0, 0)
four = c(2, 0)
five = c( 0, 0)
six = c(0, 0)
seven = c(0,0)
eight = c(0, 0)
nine = c(0,0)
ten = c(0,0)
eleven = c(0,0)
twelve = c(0,1)
thirteen = c(0,0)
fourteen = c(0,0)
fifteen = c(1,0)
df = data.frame(day, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen,
fourteen, fifteen)
所以一列代表日期,接下来的 15 列代表我正在计算的数字。 (我的数据还有更多日期,我只是没有把它们都放在我的例子中)
我首先将原始列按以下方式分组:
data %>%
group_by(date, total)
但我不确定如何计算每组的值并将其放入结果数据框中。谢谢!
【问题讨论】:
-
你有错误的第三个参数,我认为它必须是“total”,因为没有
countattr -
是的,抱歉,刚刚修好了