对缺失值赋值

查看数据缺失情况

questionnaire <- read.csv("问卷调研数据.csv",header = TRUE)
dim(questionnaire)#查看行数和变量
library(VIM)
aggr(questionnaire[,-1],prop=FALSE,numbers=TRUE)#不要序号,以绝对数显示,有标签

在这里插入图片描述

建立逻辑回归模型,对性别进行预测

for(i in 2:ncol(questionnaire)){
  questionnaire[,i] <- as.factor(questionnaire[,i])
}变量转因子
str(questionnaire)

在这里插入图片描述

train1 <- na.omit(questionnaire[,c("性别","职业","学历","玩家游戏情况","游戏进入","游戏偏好")])
test1 <- questionnaire[is.na(questionnaire$性别),c("职业","学历","玩家游戏情况","游戏进入","游戏偏好")]
fit <- glm(性别~.,family = "binomial",data = train1)
result <- predict(fit,test1,type = "response") <0.5
z =rep(1,nrow(test1))   构造2万个1
z[!result]=2                   部分转变为2
test2 <- cbind("性别"=z,test1)
head(test2)

??
glm用于拟合广义线性模型,具体方法是给出线性预测器的符号描述和误差分布的描述。
glm(formula, family = gaussian, data, weights, subset,
na.action, start = NULL, etastart, mustart, offset,
control = list(…), model = TRUE, method = “glm.fit”,
x = FALSE, y = TRUE, singular.ok = TRUE, contrasts = NULL, …)
formula:典型的预测器有响应~项的形式,其中响应是(数值)响应向量,而项是一系列指定响应线性预测器的项。
family(object, …)
binomial(link = “logit”) 二项式
gaussian(link = “identity”) 高斯
Gamma(link = “inverse”) 伽马
inverse.gaussian(link = “1/mu^2”)
poisson(link = “log”) 泊松
quasi(link = “identity”, variance = “constant”)
quasibinomial(link = “logit”)
quasipoisson(link = “log”)

预测是对各种模型拟合函数的结果进行预测的通用函数。该函数调用依赖于第一个参数的类的特定方法。

年龄、收入多因子变量,进行决策树预测

library("mice")
md.pattern(questionnaire)   #Missing data pattern

在这里插入图片描述
在这里插入图片描述

library("missForest")
zz <- missForest(questionnaire)   #利用随机森林进行非参数缺失值估计

“missForest”用于估算缺失值,特别是在混合类型数据的情况下。它可以用于输入连续和/或分类数据,包括复杂的相互作用和非线性关系。它给出了一个out-of-bag (OOB)的归算误差估计。并可并行运行,节省了计算时间。

missForest(xmis, maxiter = 10, ntree = 100, variablewise = FALSE,
decreasing = FALSE, verbose = FALSE,
mtry = floor(sqrt(ncol(xmis))), replace = TRUE,
classwt = NULL, cutoff = NULL, strata = NULL,
sampsize = NULL, nodesize = NULL, maxnodes = NULL,
xtrue = NA, parallelize = c(‘no’, ‘variables’, ‘forests’))

xmis:缺少值的数据矩阵。列对应于变量,行对应于观察值
maxiter:给定停止条件下要执行的最大迭代次数
variablewise:如果“TRUE”,则分别为每个变量返回OOB错误。这可以作为对输入变量w.r.t.进行后续数据分析的可靠性检查

questionnaire.full <- zz$ximp
md.pattern(questionnaire.full)

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u010380670/article/details/84867034