r语言 - 在新列中创建具有唯一值的同一数据帧的多个副本



我有一个非常大的数据集,我想做多个副本,但是对于这个数据集的每个副本,我想在一个新的列中给出一个不同的值。这样做的目的是通过这些列将另一组数据与该数据集配对。让我举个例子。假设我的数据集如下:

id   value
X01    NA
X02    NA
X03    NA
X04    NA
X05    NA
X06    NA

我想把这个数据帧复制32份,然后对于每一份拷贝,在第三个新列中给它一个不同的值,称为"字符"。可以用该值填充整个列,方法是为其提供一个列表,如c("苹果"、"香蕉"、"绿色"、"红色")等。我想这样做,一旦这个数据集的32个不同的副本被创建,它们就可以被绑定在一起,32个副本中的每一个都是一个新数据集的部分,它们之间唯一的区别就是这个新的值列。有人知道这样做的好方法吗?之前,我刚刚通过以下过程创建了32个数据帧:

df_1 <- df %>% mutate(character = "apple")
df_2 <- df %>% mutate(character = "banana")

等,然后将它们绑定在一起。

我们可以通过循环listmutate新列中的值向量来实现

library(purrr)
library(dplyr)
library(stringr)
out <- map(c("apple", "banana"), ~ df %>% 
mutate(character = .x))
names(out) <- str_c("df_", seq_along(out))

最新更新