关注我的,分析数据不发愁了
不信你试试
后台留言,获取统计软件
在科学研究中,缺失值通常难以避免,但处理起来又比较麻烦,很多人选择忽略缺失值,但有些时候它们会不知不觉给我们造成麻烦,学几招缺失值识别和处理的技术还是很有必要的。
1、导入数据
1.1 在Excel中按Ctrl+A把数据全部选中,然后右键点击复制。
1.2 把数据导入R
在Rstudio里输入:
mydata"clipboard")
2、分类变量和等级变量因子化:
mydata$sex$sex,levels=c(0,1), labels=c("Female","Male")) mydata$work$work,levels=c(0,1), labels=c("Non-work","Work"))mydata$disease$disease,levels=c(0,1), labels=c("Health","Disease"))mydata$bmig$bmig,levels=c(1,2,3), labels=c("Normalweight","Overweight","obese"),ordered= TRUE)
查看数据集和变量:
summary(mydata)str(mydata)
3、缺失值的概况
sum(is.na(mydata)) #判断数据有多少缺失值mydata[!complete.cases(mydata),] #可用来识别矩阵或数据框中没有缺失值的行
图示法查看缺失值:
install.packages("VIM")library(VIM)aggr(mydata, prop = FALSE, numbers = TRUE)
4、缺失值的处理
方法一:直接删除有缺失值的行
newdata<-na.omit(mydata)
方法二:使用均值、中位数或众数填充缺失值
install.packages("Hmisc")library(Hmisc)mydata$age$age,median) mydata$bmi$bmi,mean) mydata$sex$sex,names(which.max(table(mydata
方法三:K最近邻法
DMwR2包中的knnImputation函数基于欧氏距离找到K个与其最近的观测数值,然后对这K个近邻的数据利用距离逆加权得到插补的值,用该值代替数据中相应的缺失值。
install.packages("DMwR2")library(DMwR2)knndata
无论是均数±标准差,还是中位数(四分位数间距),还是频数(百分比),几行命令出炉,不要太爽!
文章中统计方法如何表述(干货收藏,附graphpad8.0下载)
SCI论文都在用 P for trend,到底是何方神圣?
ROC曲线下面积的两两比较
【ROC曲线】哪种诊断方法的准确性更好?
SPSS绘制ROC曲线
扫码关注,欢迎咨询极简统计课只给你最实用的统计方法