如何解决'relevel' 仅适用于无序因素
library(pacman)
pacman::p_load(metafor,readxl,metaviz,MetaAnalyser,rio)
#library(readxl,rio)
#Effektstärke
Bor1 <- data.frame(read_excel("Borenstein_1.xls"))
Bor1 <- escalc(measure = "SMD",m1i=mw.t,m2i = mw.c,sd1i = sd.t,sd2i = sd.c,n1i= n.t,n2i= n.c,data= Bor1)
#Heterogenitätstests Fixed/Random-Effects / Test for heterogeneity
fe.mod <- rma(yi = yi,vi = vi,measure = "SMD",method = "FE",slab = Studie,data = Bor1)
forest(fe.mod,showweights = TRUE)
re.mod <- rma(yi = yi,method = "DL",data = Bor1)
forest(re.mod,showweights = TRUE)
confint(re.mod)
predict(re.mod)
#Integration mit kategorialer Variable / Integration categorical variable
Bor2 <- read.delim2("Borenstein_2.txt")
fe.all <- rma(yi=d,vi=var.d,measure="SMD",method="FE",slab=study,data=Bor2)
fe.A <- rma(yi=d,subset=group=="a",data=Bor2)
fe.B <- rma(yi=d,subset=group=="b",data=Bor2)
#Im Modell mit Kovariable: / Model with categorical variable
fe.mod <- rma(yi=d,mods= ~group,data=Bor2)
fe.mod
#Gruppe ‘a’ als Referenzgruppe: / Group a as reference
fe.mod <- rma(yi=d,mods= **~relevel(group,ref="b")**,data=Bor2)
re.mod <- rma(yi=d,method="DL",data=Bor2)
#Meta-Regression
bcg <- escalc(measure="RR",ai=tpos,bi=tneg,ci=cpos,di=cneg,digits=3,data=dat.bcg)
bcg[,-c(1,9)]
所以我应该用 R 编写元分析,但以前从未使用过 R。我有点不知所措。 除了组 a 下的 relevel 函数作为参考之外,上面的代码正在工作,我想在子组分析中更改参考组。所以我有a组和b组的研究,想改变参考组。 对于 relevel 函数,我收到以下错误:
relevel.default(group,ref = "b") 中的错误: 'relevel' 仅用于(无序)因子
抱歉,如果我发布了不必要的代码。我不确定。提前致谢。
解决方法
relevel()
函数仅适用于因子,但变量 group
不是因子,只是字符串/字符变量。因此,如果您想让 mods= ~ relevel(factor(group),ref="b")
级成为参考组,只需执行 b
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。