美文网首页R-meta
基于R软件gemtc包的网状meta分析

基于R软件gemtc包的网状meta分析

作者: 克里克的钟 | 来源:发表于2019-10-09 21:55 被阅读0次

    1. 安装gemtc包

    使用的是Rstudio,如果Rstudio安装不成功,可以先用Rgui安装:

    install.packages('code')

    2. 载入程序包

    library(gemtc)

    library(code)

    library(codetools)

    library(testthat)

    3. 导入数据

    这里是一个gemtc包中的例子,命名为file:

    file <- system.file('extdata/luades-smoking.gemtc', package='gemtc')    #导入数据,并命名为file

    net = read.mtc.network(file)    #读取gemtc文件,并保存为net

    4. 保存数据

    write.csv(network$treatments, file = "D:\\Desktop\\network0001_treatments.csv")

    write.csv(network$data.ab, file = "D:\\Desktop\\network0001_data.ab.csv")

    5.读取数据

    treatments<- read.csv("D:\\Desktop\\network0001_treatments.csv",header=T,sep = ",",skip=0,row.names = 1)

    #header=T,表示文件存在,表示需要读取数据的数据头部,skip=0,表示数据中没有需要跳过的行,row.names = 1是第一列作为行名

    #同样,把另外一个表也读取进来

    data <- read.csv("D:\\Desktop\\network0001_data.ab.csv",header=T,sep = ",",row.names = 1)

    6. 创建network对象,建立成network 单臂长数据格式

    network<- mtc.network(data, description="Luades_smoking", treatments=treatments)

    7. 构建模型,一致性模型

    model <- mtc.model(network, type = 'consistency')

    #其中, network 为 network 数据, type 为是否选取一致性模型

    #这里提示没有安装slam包


    8.运算结果

    result <- mtc.run(model)    #简单命令;需要电脑上安装jags,安装地址下载jags;

    result <-mtc.run(model, sampler ="rjags", n.adapt = 5000, n.iter = 20000, thin = 1)   

    #复杂命令,通过sampler命令选取软件的调用方式;“n.adapt”为预迭代次数,“n.iter”为迭代运算次数,“thin”为步长。

    9. 网状证据图等

    plot(network)  #模型网状图

    #绘制tiff图片并保存

    tiff(file="network.tiff")

    plot(network)

    dev.off()

    #诊断收敛性

    gelman.plot(result)

    #收敛图导出

    tiff(file="gelman.plot.tiff")

    gelman.plot(result,auto.layout =F)

    dev.off()

    plot(result)    #密度图

    forest(result)    #森林图

    ranks <- rank.probability(result)    #等级排名

    print(ranks)

    #堆积排序图

    tiff(file="堆积排序图.tiff")

    plot(ranks)

    dev.off()

    #单个排序图

    tiff(file="单个排序图.tiff")

    barplot(t(ranks), beside=TRUE)

    dev.off()

    # 相对影响森林图导出vsB

    tiff(file="0109相对影响森林图导出vsB.tiff")

    forest(relative.effect(result, "B"))

    dev.off()

    10. 残差

    print(result$deviance)

    11.异质性图

    result.anohe <- mtc.anohe(network, n.adapt=1000, n.iter=5000)

    summary.anohe <- summary(result.anohe)

    plot(summary.anohe, xlim=log(c(0.2, 5)))

    summary.anohe

    summary.anohe$consEffects

    summary.anohe$studyEffects

    summary.anohe$pairEffects

    12.节点劈裂法,探讨模型的一致性和不一致性

    network

    result <-mtc.nodesplit(network)

    summary(result)

    names(result)

    # [1] "d.A.C" "d.A.D" "d.B.D" "d.C.D" "consistency"

    summary(result$d.A.C)

    # Overall summary and plot

    summary.ns <- summary(result)

    print(summary.ns)

    plot(summary.ns)

    相关文章

      网友评论

        本文标题:基于R软件gemtc包的网状meta分析

        本文链接:https://www.haomeiwen.com/subject/lpckrftx.html