r - 在新列中创建具有唯一值的同一数据框的多个副本
问题描述
我有一个非常大的数据集,我想为其制作多个副本,但是对于这个数据集的每个副本,我想在一个新列中给出一个不同的值。这样做的目的是通过这些列将另一组数据与该数据集配对。让我举例说明。假设我的数据集如下:
id value
X01 NA
X02 NA
X03 NA
X04 NA
X05 NA
X06 NA
我想复制这个数据框的 32 个副本,然后对于每个副本,在第三个新列中给它一个不同的值,称为“字符”。整个列可以填充该值,方法是为其提供一个列表,例如 c("apple"、"banana"、"green"、"red") 等。我想这样做,以便一旦有 32 个不同的副本数据集已经创建,然后它们可以重新绑定在一起,32 个副本中的每一个都是新数据集的部分,它们之间的唯一区别是这个新的值列。有谁知道这样做的好方法?以前,我刚刚通过以下过程创建了 32 个数据框:
df_1 <- df %>% mutate(character = "apple")
df_2 <- df %>% mutate(character = "banana")
等,然后将它们绑定在一起。
解决方案
我们可以通过循环 alist
和mutate
new 列中的值向量来做到这一点
library(purrr)
library(dplyr)
library(stringr)
out <- map(c("apple", "banana"), ~ df %>%
mutate(character = .x))
names(out) <- str_c("df_", seq_along(out))
推荐阅读
- r - 将周定义为长度为 r 的 6 天
- c# - .net 和 nodejs 之间的 IPC 通信
- ruby - JIRA API 错误:调用创建问题端点时,“它不在适当的屏幕上,或未知”
- django - 如何在我的用户页面(HTML)中创建 django Admin 的 url
- html - 我在使用 3 个 DIV 标签以连续放置 3 个块时遇到问题
- javascript - 运行项目时遇到 npm 问题
- alteryx - Alteryx 如何以分散的方式部署数据?
- javascript - 使用 javascript 对象创建 highchart 饼图
- php - 在 laravel 视图中显示 .txt 文件
- apache - 运行 apache 的 Docker 容器总是暴露端口 80