gpt4 book ai didi

r - 使用不存在的列名对数据框进行子集

转载 作者:行者123 更新时间:2023-12-02 05:32:37 24 4
gpt4 key购买 nike

我在 R 中有这行代码:

newDF <-oldDF[subsettingColumns]
subsettingColumns有几个列名可能存在也可能不存在于 oldDF .如果它不存在,我想在 newDF 中插入一列与 NA 在同一位置的。我如何让它在 R 中工作?

最佳答案

让我们举个例子:

df <- data.frame(a = c(1, 2, 3, 4), b = c(4, 5, 6, 7))
df

# a b
#1 1 4
#2 2 5
#3 3 6
#4 4 7

#Columns to take subset of
subsettingColumns <- c('a', 'd', 'e')

#Columns which are already present
cols <- subsettingColumns[subsettingColumns %in% names(df)]

#Add them in the new dataframe
newdf <- df[cols]

#Assign NA to the columns which are not defined in the original dataframe
newdf[setdiff(subsettingColumns, cols)] <- NA

newdf
# a d e
#1 1 NA NA
#2 2 NA NA
#3 3 NA NA
#4 4 NA NA

关于r - 使用不存在的列名对数据框进行子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47052073/

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