统计分析时犯的错

可以犯错,但不要一直犯同样的错。

20221005

都是一些基础问题,但是很致命。

1、开始分析之前,一定要保证数据整理的时候没有问题。整理完成之后可以通过多种方式检查自己是否整理正确:

1)如果两个变量之间有明显的关联,可以尝试做一下关联性分析,检查是否有关联,这个时候,如果不存在关联性,就要思考为什么了,是不是数据整错了,还是中间转换的时候出错。

2)是否有很强的可重复性。当然,这个方法就比较费时间。用不同的思路多做几次,如果每次的结果都是一样的,出错率就比较小了。 

3)如果是其他人已经发过的人群研究,可以通过summarize自己的数据,核对是否一样。一般已发表的都是99%正确的数据结果。如果不能复刻出他的结果,99%就是自己做错了。(剩下1%的可能就是。。。)

4)对缺失值进行填补!!如果样本量小,一定尽可能填补,填补最常用的是中位数填补法。

2、做批量lm/glm或者其他回归分析的时候,用for循环生成数据表一定要样本号对齐。

这里的x、y、covariates一定要样本ID号列保持一致,不然就用merge合并

results<-data.frame()
for(j in 1:ncol(x)){
  for (i in 1:ncol(y)){
    data.cur<-data.frame(y[,i],x[,j],
                         covariates$Sex,covariates$Age,covariates$BMI)
    colnames(data.cur)<-c("y","x","Sex","Age","BMI")
    res.lm<-glm(y~x+Sex+Age+BMI,data = data.cur)
    res.summary.lm<-data.frame(cbind(names(x)[j],names(y)[i],summary(res.lm)$coe[2,1]),summary(res.lm)$coe[2,2],summary(res.lm)$coe[2,4])
    results<-rbind(res.summary.lm,results)
  }
}
names(results)<-c("x","y","Coefficient","SE","P")
results$adjp<-p.adjust(results$P,method="fdr")
table(results$adjp<0.05)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值