r - 如果数据框中缺少列,则添加列的整洁方法
问题描述
如果数据集中不存在,我正在寻找一种整洁的方法来添加缺失的列。例如,df1 不包含列“c”。
df1 <- data.frame(a=c(1:3, NA), b=c(NA,2:4))
所需的输出:
df1 <- data.frame(a=c(1:3, NA), b=c(NA,2:4), c=c(NA, NA, NA, NA))
解决方案
假设您不想覆盖该列,如果它已经存在于您的数据中,您可以使用add_column
一个if
条件来检查该列是否已经存在。
library(dplyr)
df1 <- data.frame(a=c(1:3, NA), b=c(NA,2:4))
if(!'c' %in% names(df1)) df1 <- df1 %>% add_column(c = NA)
df1
# a b c
#1 1 NA NA
#2 2 2 NA
#3 3 3 NA
#4 NA 4 NA
推荐阅读
- java - Kafka Streams:topic.compression.type 不是已知的配置
- sql - 两表一列比较时获取数据的最快方法
- c# - 如何从 C# 聊天机器人与机器人应用程序在 SQL Server 中执行存储过程?
- python - 默认的 django 开发服务器是安全的还是其他人可以访问它?
- tensorflow - 解码训练示例
- typescript - 如何使用 Firebase 数据为 Ionic App 创建动态图表?
- java - 为什么这段代码会给我错误“imageicon 无法转换为 int”?
- hololens - Hololens 感知模拟示例测试使设备崩溃
- java - JavaFX如何处理来自控制器类的ActionEvent?
- bash - 监视添加到目录的文件大小(Bash)