蛋白质组学数据的缺失值填充

  • A+
所属分类:生物信息学

k=10, #预设近邻数,默认10
rowmax=0.5, #当某行的缺失值占比超过50%,则用整个样本的均值填充
colmax=0.8) #当任何一列中缺失值占比80%,计算终止并报错

Sequential KNN(有序K近邻):KNN方法的升级,一般用于处理缺失值比例高的数据。但缺失值如果太多了,不建议保留。
填充过程:首先根据数据中每个对象缺失值的比例进行排序(sequential),从比例最小的那个对象开始计算,对K个近邻的值进行平均或加权计算填充,这个填充后的对象也会加入后续其他对象缺失值填充的计算当中。
SeqKnn::SeqKNN(data, k=10)

MI(多重插补):细分的方法有很多,主要有三部分:一是mice,将包含缺失值的原始数据集生成几个完整的数据集(3-10个无缺失值的数据集),再把所有填充值的平均值作为最终的填充结果;第二with,使用标准方法,如线性回归模型/广义线性模型等,对这几个完整的数据集进行统计分析(不是评价好坏);第三pool,整合模型分析的结果,输出最终结果。
data(sleep,package="VIM")
# 1st
imp=mice::mice(sleep,
m=5, #生成完整数据集个数
defaultMethod="pmm", #填充方法
seed=1234) #保证重复性
# 2nd
fit=with(imp,lm(dream~span+Gest)) #选择线性模型对填充数据集分析
# 3rd
pooled=pool(fit) #整合最终结果
summary(pooled)

  • 蛋白质组学业务咨询
  • 扫码咨询相关问题
  • weinxin
  • 代谢组学业务咨询
  • 扫码咨询相关问题
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: