分享

孟德尔随机化---beta/or, se, p有缺失相互转换

 昵称69125444 2023-09-26 发布于广西

有的时候我们会发现汇总数据有数据缺失,影响我们后续的分析,如过beta,se,p三者知道两个可以算另外一个。之前给过一对一同学公式,发现R操作不了,为了大家能直接上手,我就直接用数据举例,以IEU数据库提取出来的数据进行举例。

读取数据

1exp <- extract_instruments(outcomes='eqtl-a-ENSG00000180543')

图片

已知beta,se求P

1X=exp$beta.exposure/exp$se.exposure
2P=2*pnorm(q=abs(X), lower.tail=FALSE) #Z=1.96  P=0.05
3P

图片

已知beta.P算se

1beta<-exp$beta.exposure
2P<-exp$pval.exposure
3se=numeric(length = length(exp$beta.exposure))
4for (i in 1:length(exp$beta.exposure)) {
5  se[i]=sqrt(((beta[i])^2)/qchisq(P[i],1,lower.tail=F))
6}
7se

图片

OR与Beta相互转换

1#Beta 转 OR
2OR = exp(exp$beta.exposure)
3#OR 转 Beta
4beta = log(OR)

图片

有P,se求Beta

这个我还没有遇见过,没找到适合的代码,思路是根据P值查统计量表求出统计量,统计量乘以se即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多