`levels<-`(`*tmp*`, value = as.character(levels)) 错误:因子水平 [3] 重复
Error in `levels<-`(`*tmp*`, value = as.character(levels)) : factor level [3] is duplicated
我正在尝试使用自动绘图绘制分面生存曲线,但协变量和分面的组合会重复因子中的水平
library(survival)
library(ggfortify)
fit <- survfit( Surv(time, status) ~ inst + sex,
data = lung )
autoplot(fit, facets = TRUE)
Error in `levels<-`(`*tmp*`, value = as.character(levels)) :
factor level [3] is duplicated
有人用自动绘图成功地绘制了多面生存曲线吗?我试过 survminer,但协变量占据了大部分绘图区域,情节看起来很可怕。
我认为你应该再看看 ggsurvplot
,因为 autoplot.survfit
似乎不喜欢有一个以上的独立因子变量(无论你是否分面)。
ggsurvplot
函数 returns 一个 ggplot 对象,因此您无需满足于默认选项。您可以根据需要添加比例和样式。以你的例子为例,我们可以这样做:
library(survival)
library(ggfortify)
library(survminer)
fit <- survfit( Surv(time, status) ~ inst + sex,
data = lung )
p <- ggsurvplot(fit, facet.by = "inst", conf.int = TRUE) +
theme(strip.background = element_blank(),
axis.line.x = element_line())
p$facet <- facet_wrap(.~inst, ncol = 3, nrow = 6, scales = "free")
p
我正在尝试使用自动绘图绘制分面生存曲线,但协变量和分面的组合会重复因子中的水平
library(survival)
library(ggfortify)
fit <- survfit( Surv(time, status) ~ inst + sex,
data = lung )
autoplot(fit, facets = TRUE)
Error in `levels<-`(`*tmp*`, value = as.character(levels)) :
factor level [3] is duplicated
有人用自动绘图成功地绘制了多面生存曲线吗?我试过 survminer,但协变量占据了大部分绘图区域,情节看起来很可怕。
我认为你应该再看看 ggsurvplot
,因为 autoplot.survfit
似乎不喜欢有一个以上的独立因子变量(无论你是否分面)。
ggsurvplot
函数 returns 一个 ggplot 对象,因此您无需满足于默认选项。您可以根据需要添加比例和样式。以你的例子为例,我们可以这样做:
library(survival)
library(ggfortify)
library(survminer)
fit <- survfit( Surv(time, status) ~ inst + sex,
data = lung )
p <- ggsurvplot(fit, facet.by = "inst", conf.int = TRUE) +
theme(strip.background = element_blank(),
axis.line.x = element_line())
p$facet <- facet_wrap(.~inst, ncol = 3, nrow = 6, scales = "free")
p