gpt4 book ai didi

在 R 中使用新列重复数据框

转载 作者:行者123 更新时间:2023-12-02 18:14:11 26 4
gpt4 key购买 nike

我有一个数据框:

my_df <- data.frame(var1 = c(1,2,3,4,5), var2 = c(6,7,8,9,10))
my_df
var1 var2
1 1 6
2 2 7
3 3 8
4 4 9
5 5 10

我还有一个向量:

my_vec <- c("a", "b", "c")

我想重复数据帧length(my_vec)次,用向量值填充新变量的值。有没有一种简单的方法可以做到这一点?如果可能的话,我想在 dplyr 链中执行此操作。期望的输出:

  var1 var2 var3
1 1 6 a
2 2 7 a
3 3 8 a
4 4 9 a
5 5 10 a
6 1 6 b
7 2 7 b
8 3 8 b
9 4 9 b
10 5 10 b
11 1 6 c
12 2 7 c
13 3 8 c
14 4 9 c
15 5 10 c

最佳答案

我们可以使用crossing或与expand_grid

library(tidyr)
crossing(my_df, var3 = my_vec)
#expand_grid(my_df, var3 = my_vec)

如果顺序很重要,请使用排列

library(dplyr)
crossing(my_df, var3 = my_vec) %>%
arrange(var3)

-输出

# A tibble: 15 × 3
var1 var2 var3
<dbl> <dbl> <chr>
1 1 6 a
2 2 7 a
3 3 8 a
4 4 9 a
5 5 10 a
6 1 6 b
7 2 7 b
8 3 8 b
9 4 9 b
10 5 10 b
11 1 6 c
12 2 7 c
13 3 8 c
14 4 9 c
15 5 10 c

关于在 R 中使用新列重复数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71862341/

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