gpt4 book ai didi

使用 purrr 复制数据框的行

转载 作者:行者123 更新时间:2023-12-04 08:34:51 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Repeat each row of data.frame the number of times specified in a column

(9 个回答)


10 个月前关闭。




我有以下数据框:

  Id    Value Freq
1 A 8 2
2 B 7 3
3 C 2 4
我想通过复制每个 Value 来获得一个新的数据帧根据 Freq :
  Id    Value
1 A 8
2 A 8
3 B 7
4 B 7
5 B 7
6 C 2
7 C 2
8 C 2
9 C 2
我知道使用 purrr 可以很容易地做到这一点。 (我已将 map_dfr 确定为最合适的函数),但我不明白什么是最好和最“紧凑”的方法。

最佳答案

您可以只使用数据帧的一些不错的索引属性。

df <- data.frame(Id=c("A","B","C"),Value=c(8,7,2),Freq=c(2,3,4))

replicatedDataframe <- do.call("rbind",lapply(1:NROW(df), function(k) {
df[rep(k,df$Freq[k]),-3]
}))
使用 times 可以更轻松地完成此操作。 -参数在 rep :
replicatedDataframe  <- df[rep(1:NROW(df),times=df$Freq),-3]

关于使用 purrr 复制数据框的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64843724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com