gpt4 book ai didi

用向量复制数据框

转载 作者:行者123 更新时间:2023-12-05 09:07:43 25 4
gpt4 key购买 nike

这些是我的属性(property):

vec <- seq(1, 3, by = 1)
df <- data.frame(x1 = c("a1", "a2"))

这是我想要的:

  x1 x2
1 a1 1
2 a2 1
3 a1 2
4 a2 2
5 a1 3
6 a2 3

我基本上想根据向量 vec 中的值复制数据框。这是我的工作(可能是低效的方法):

vec <- seq(1, 3, by = 1)
df <- data.frame(x1 = c("a1", "a2"))
results <- NULL

for (v in vec) {
results <- rbind(results, cbind(df, x2=v))
}

results

也许有更好的方法?抱歉,这更像是代码审查。谢谢!

附言:

感谢您的所有精彩回答。抱歉,我自己应该考虑一下,但现在还早。我将不得不接受一个。抱歉没有难过的感觉!

最佳答案

你可以使用crossing:

tidyr::crossing(df, vec) %>% dplyr::arrange(vec)

# x1 vec
# <chr> <dbl>
#1 a1 1
#2 a2 1
#3 a1 2
#4 a2 2
#5 a1 3
#6 a2 3

此外,

tidyr::expand_grid(df, vec) %>% dplyr::arrange(vec)

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

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