gpt4 book ai didi

r - 如何从列表中向 R 数据框添加多列

转载 作者:行者123 更新时间:2023-12-04 09:37:00 24 4
gpt4 key购买 nike

我有一个数据框:

df1

a b c
1 1 0
1 1 1
1 1 1

df2

a b c d e f
1 1 0 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
2 2 2 2 2 2

如何将 df1 中不存在的新列从 df2 添加到 df1?得到:

df2

a b c d e f
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 0 0 0

我试过:

columns_toadd <- colnames(df1)[!(colnames(df1) %in% colnames(df2))]

for (i in 1:length(columns_toadd)){
df$columns_toadd[[i]] <- 0
}

但这只是给出了:

df2

a b c columns_toadd
1 1 0 0
1 1 1 0
1 1 1 0

我想在基础 R 中执行此操作,因为我在一个包有限的环境中工作。

最佳答案

我们可以使用 setdiff 获取不在 'df1' 中的列名并将它们分配给 0

df1[setdiff(names(df2), names(df1))] <- 0

关于r - 如何从列表中向 R 数据框添加多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47814437/

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