作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个列名向量(其中 262 个)和一个具有相同列名但缺少几列的数据框(因此我有 250 列而不是 262 列)。
有没有办法将数据框的列设置为包含完整列名称集的向量,并为没有数据的名称生成一列 NA?
例如,如果我有一个向量和数据框,如下所示:
column_names <- c("col1","col2","col3","col4","col5","col6","col7")
df1 <- data.frame(c(20,30,10,20,45),c(1,10,2,45,2),c(9,10,22,11,12),c(87,7,7,7,14),c(89,90,99,12,1))
names(df1) <-c("col1","col2","col3","col5","col6")
# col1 col2 col3 col5 col6
# 20 1 9 87 89
# 30 10 10 7 90
# 10 2 22 7 99
# 20 45 11 7 12
# 45 2 12 14 1
我想生成一个看起来像这样的:
df2 <- data.frame(c(20,30,10,20,45),c(1,10,2,45,2),c(9,10,22,11,12),c("NA","NA","NA","NA","NA"),c(87,7,7,7,14),c(89,90,99,12,1),c("NA","NA","NA","NA","NA"))
names(df2) <-column_names
# col1 col2 col3 col4 col5 col6 col7
# 20 1 9 NA 87 89 NA
# 30 10 10 NA 7 90 NA
# 10 2 22 NA 7 99 NA
# 20 45 11 NA 7 12 NA
# 45 2 12 NA 14 1 NA
最佳答案
您可以使用 setdiff
获取缺失的列名,然后添加新列。
column_names <- c("col1","col2","col3","col4","col5","col6","col7")
df <- data.frame(col1 = c(20,30,10,20,45),col2=c(1,10,2,45,2),col4=c(9,10,22,11,12),col5=c(87,7,7,7,14),col6=c(89,90,99,12,1))serdi(colnames(df),column_names)
missing_cols <- setdiff(column_names,colnames(df))
df[missing_cols] <- NA
df <- df[column_names]
df
col1 col2 col3 col4 col5 col6 col7
1 20 1 NA 9 87 89 NA
2 30 10 NA 10 7 90 NA
3 10 2 NA 22 7 99 NA
4 20 45 NA 11 7 12 NA
5 45 2 NA 12 14 1. NA
关于r - 有没有办法将数据框的列与完整列名的向量相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73146356/
现在我正在尝试实现 flash programming specification对于 PIC32MX。我正在使用 PIC32MX512L 和 PIC32MX512H。 PIC32MX512L最终必须
我是一名优秀的程序员,十分优秀!