查找df中缺少的变量,并打印出变量的名称

  • 本文关键字:变量 打印 df 查找 r
  • 更新时间 :
  • 英文 :


如果我想检查我的df是否有我需要的所有变量,我如何识别缺失的变量并打印警告消息

目前我有:

if (!all(c("test", "result","Unit") %in% colnames(data))) {
print("'test', 'result', 'Unit' are needed in this data set. Check data again.")

} else{
print("Everything is OK")
} 

我希望能够打印出缺失的一个而不是'test', 'result', 'Unit' are needed in this data set. Check data again.,有什么建议吗?

数据

complete_names <- c("a","b","c","d","z")
example_names <- c("a","b","c","q","y")

diff_names1 <- setdiff(complete_names,example_names)
n1 <- length(diff_names1)
diff_names2 <- setdiff(example_names,complete_names)
n2 <- length(diff_names2)

if(n1 > 0 | n2 > 0) {

necessary_variables <- ""
extra_variables <- ""

are_is <- ifelse(n1 == 1," is"," are")

if(n1 > 0 ){

necessary_variables <- paste0(paste0(diff_names1,collapse = ", "),are_is," needed in this data set. Check data again.")

}

if(n2 > 0 ){

extra_variables <- paste0("Sample has extra variables: ",paste0(diff_names2,collapse = ", "))

} 

cat(necessary_variables,"n",extra_variables)

} else{
print("Everything is OK")
}  

输出
d, z are needed in this data set. Check data again. 
Sample has extra variables: q, y

最新更新