提问人:Brandon 提问时间:10/31/2023 最后编辑:MrFlickBrandon 更新时间:10/31/2023 访问量:30
如何向 DataFrame 添加多个新列并使用 R 中的单个值进行初始化
How to Add Multiple New Columns to a Dataframe and Initialize with a Single Value in R
问:
我需要一种优雅的方式来创建多个新列并将它们添加到 R 中的现有数据帧中。我还想用一个值初始化这些新列的所有行,在我的例子中是 NA,以便我以后可以覆盖它们。
答:
0赞
Brandon
10/31/2023
#1
我发现最干净的方法是:
- 创建要添加到现有 DataFrame 的新列名列表。
newColumns <- c("Var1", "Var2")
- 如果要将此代码用于自动化,则可能需要确定哪些列尚未在数据帧中的功能,以便仅向数据集添加必要的新变量。为此,请查找当前不在数据框中的变量名称的索引。
missingColumns <- which(!(newColumns %in% names(dataFrame)))
- 引用、写入新变量并将其初始化到 DataFrame。
dataFrame[newColumns[missingColumns]] <- NA
0赞
dufei
10/31/2023
#2
Tidyverse 解决方案可以使用:tibble::add_column()
library(tibble)
df <- tibble(
x = 1:10
)
df |> add_column(y = NA, z = NA)
#> # A tibble: 10 × 3
#> x y z
#> <int> <lgl> <lgl>
#> 1 1 NA NA
#> 2 2 NA NA
#> 3 3 NA NA
#> 4 4 NA NA
#> 5 5 NA NA
#> 6 6 NA NA
#> 7 7 NA NA
#> 8 8 NA NA
#> 9 9 NA NA
#> 10 10 NA NA
创建于 2023-10-31 使用 reprex v2.0.2
使用该参数允许数据帧中已存在的列名。.name_repair
评论
data.frame