gpt4 book ai didi

R:重复 data.frame 的行 k 次并为新行值添加前缀

转载 作者:行者123 更新时间:2023-12-01 22:47:53 25 4
gpt4 key购买 nike

我从this answer知道如何复制数据框的行。如果您想将这些行重复 n 次,那很好。

我想做类似的事情,但还要在一列新添加的行中添加一个前缀。注意:我没有将重复计数基于行数。它需要由参数提供(称为 k)。

假设我想重复数据帧 k=3 次,操作应该如下所示:

输入:

data.frame(a = c("1","2","3", "4"),b = c(1,2,3, 4))
a b
1 "1" 1
2 "2" 2
3 "3" 3
4 "4" 4

输出:

  a b
1 "1" 1
2 "2" 2
3 "3" 3
4 "4" 4
5 "1_1" 1
6 "1_2" 2
7 "1_3" 3
8 "1_4" 4
9 "2_1" 1
10 "2_2" 2
11 "2_3" 3
12 "2_4" 4

执行此操作的好 R 方法是什么?

最佳答案

您可以使用 expand_grid(假设您的 data.frame 被命名为 df1):

library(dplyr)
library(tidyr)

expand_grid(a = df1$a, b = df1$b) %>%
mutate(a = paste(a, b, sep = "_")) %>%
bind_rows(df1, .)

返回

     a b
1 1 1
2 2 2
3 3 3
4 1_1 1
5 1_2 2
6 1_3 3
7 2_1 1
8 2_2 2
9 2_3 3
10 3_1 1
11 3_2 2
12 3_3 3

关于R:重复 data.frame 的行 k 次并为新行值添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74956714/

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