我想在R中基于现有列表创建一个包含重复条目的新列表。我尽可能地想使用tidyverse,所以最好使用dplyr。
假设我有一个销售时间列表:
df <- data.frame(time = c(0,1,2,3,4,5), sales = c(1,1,2,1,1,3))
> df
time sales
1 0 1
2 1 1
3 2 2
4 3 1
5 4 1
6 5 3
我希望改为列出每个销售项目的清单:
ans <- data.frame(salesTime = c(0,1,2,2,3,4,5,5,5))
> ans
salesTime
1 0
2 1
3 2
4 2
5 3
6 4
7 5
8 5
9 5
我在这里找到了一个使用dplyr的有趣示例:在R中基于条件创建重复行
但是这只允许我在销售额等于n时创建一行新记录,并且不能在销售额等于n时创建n个新的行。
非常感谢任何帮助。
uncount()
这个函数。如果你有一个只有一行的数据集,你可以用df |> uncount(10)
将它复制成10行。真棒! - MS Berends