如果我想检查我的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
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