我有一个非常大的数据集,我想做多个副本,但是对于这个数据集的每个副本,我想在一个新的列中给出一个不同的值。这样做的目的是通过这些列将另一组数据与该数据集配对。让我举个例子。假设我的数据集如下:
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")
等,然后将它们绑定在一起。
我们可以通过循环list
和mutate
新列中的值向量来实现
library(purrr)
library(dplyr)
library(stringr)
out <- map(c("apple", "banana"), ~ df %>%
mutate(character = .x))
names(out) <- str_c("df_", seq_along(out))