【发布时间】:2021-04-02 12:44:30
【问题描述】:
我在这里看到了一些与我的查询类似的问题,但这些解决方案对我不起作用。我正在尝试构建网络元分析,并在调用 mtc.network 命令后遇到以下错误:
Error in `levels<-`(`*tmp*`, value = as.character(levels)) : factor level [5] is duplicated
我的数据是
library(gemtc)
library(rjags)
study<-c("Jones", "Jones", "Prieto", "Prieto", "Scott", "Scott", "Mickle", "Mickle", "Yang", "Yang", "Zhao", "Zhao")
n<-c(3886, 3876, 218, 214, 2040, 2014, 137, 137, 683, 683, 221, 230)
surv<-c(114, 94, 3, 8, 30, 20, 1, 4, 9, 11, 1, 2)
treat<-c("dx1", "px1", "rx1", "tx1", "rx1", "ax1", "zx1", "tx1", "gx1", "tx1", "ax1", "px1")
df<-data.frame(study, n, surv, treat)
network1<-mtc.network(data.ab=df, treatments=df$treat)
然后我收到这条消息
Error in `levels<-`(`*tmp*`, value = as.character(levels)) :
factor level [5] is duplicated
我将非常感谢您在这方面的任何帮助。
【问题讨论】:
-
在文档中,它说
treatments是一个具有唯一 ID 和描述的 data.frame -
或许,考虑更改列名
names(df) <- c("study", "sampleSize", "responders", "treatment");network <- mtc.network(df, description="Example", treatments=unique(df$treatment)),输出为network# MTC dataset: Example Arm-level data:.. -
@arkun 谢谢队友,目前似乎正在工作。在调用
mtc.network“不推荐在 tibble 上设置行名”后收到一点警告。 -
@Sandra 那是因为它是一个小标题。如果要删除警告,可以使用
df <- as.data.frame(df)转换为data.frame -
@akrun 感谢您的提醒!