gpt4 book ai didi

R:查找丢失的列,如果丢失,则添加到数据框中

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

我想编写一些代码来处理给定的数据帧,检查是否缺少任何列,如果有,则添加用0或NA填充的缺少列。这是我得到的:

> df
x1 x2 x4
1 0 1 3
2 3 1 3
3 1 2 1

> nameslist <- c("x1","x2","x3","x4")
> miss.names <- !nameslist %in% colnames(df)
> holder <- rbind(nameslist,miss.names)
> miss.cols <- subset(holder[1,], holder[2,] == "TRUE")

除此之外,我不知道如何在不进行硬编码的情况下添加缺失的列(“x3”)。理想情况下,我希望新的完整数据框也具有与名称列表相同的列。

有任何想法吗?我当前的代码可以忽略,没问题。

最佳答案

这是一个简单的方法

df <- data.frame(a=1:4, e=4:1)
nms <- c("a", "b", "d", "e") # Vector of columns you want in this data.frame

Missing <- setdiff(nms, names(df)) # Find names of missing columns
df[Missing] <- 0 # Add them, filled with '0's
df <- df[nms] # Put columns in desired order
# a b d e
# 1 1 0 0 4
# 2 2 0 0 3
# 3 3 0 0 2
# 4 4 0 0 1

关于R:查找丢失的列,如果丢失,则添加到数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9236992/

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