lmBF中去除NA值及‘undefined columns selected’错误排查求助
问题解决方法
错误原因
AccuracyAverage1是你单独提取的向量,不在原data数据框里,lmBF会从data中查找该变量,自然找不到,因此报"undefined columns selected"错误。- 单独用
na.exclude处理单个变量后,这个向量的长度比原data短,就算放回数据框,也会和其他变量行数不匹配,引发问题。 - tibble转data frame的警告是因为
lmBF对tibble的支持不如普通data frame,属于次要问题。
简单解决步骤
直接对整个数据框做NA剔除,保证所有变量行数一致,再用原变量名建模:
# 剔除数据框中任何包含NA的行,得到干净的数据集 clean_data <- na.exclude(data) # 用清理后的数据框建模,直接使用原变量名 model2bf <- lmBF(AccuracyAverage ~ HADSA*HADSD, data = clean_data) summary(model2bf)
另一种可选方法(仅剔除AccuracyAverage列的NA)
如果你只想去掉AccuracyAverage有NA的行,保留其他变量的非NA行,可以这样操作:
# 只保留AccuracyAverage不为NA的行 clean_data <- data[!is.na(data$AccuracyAverage), ] # 转成普通data frame消除警告 clean_data <- as.data.frame(clean_data) # 建模 model2bf <- lmBF(AccuracyAverage ~ HADSA*HADSD, data = clean_data) summary(model2bf)
内容的提问来源于stack exchange,提问作者Georgie Burton
相关产品推荐
相关产品推荐

