【发布时间】:2013-09-06 02:32:48
【问题描述】:
我试图找出每个季度增长最快的五个主题。我在 R 中有一个数据框(称为 df),包含三列 - 季度数(df$QNum)、主题(df$Topic)和该季度该主题的记录数(df$Total_Hits)。
这是我的数据框 df 外观的示例:
Total_Hits Topic QNum
10 Technology 1
86 Video Conferencing 1
14 Video Conferencing 2
10 Technology 3
1 Video Conferencing 1
12 Technology 21
我想在 df 中创建一个新列 df$QonQGrowth,它针对每条记录计算上一季度该主题的点击量增长。我不介意它如何查找 df$QNum=1 但对于本示例中的第三条记录,它会计算: (Total_Hits/(Total_Hits, where Topic="Video Conferencing" and QNum=1)-1)
我认为它看起来类似于以下内容,但无法完全弄清楚:
df$QonQGrowth <- (df$Total_Hits / ([a lookup of Total_Hits for df$Topic and (df$Qnum-1)?]))-1
数据集非常大,可能每个季度都没有每个主题的记录。
here 和 here 的类似问题,但它们并没有完全满足我的需要。
编辑:This question 似乎也有用,使用 ddply 或聚合。
提前非常感谢!
【问题讨论】: