我有一个问题,我不知道如何解决。它似乎与我的数据集有关(或者是吗?)。事实上,当我通过“冒号”数据集使用issue#205facet.by
中的示例时,我实际上能够绘制不同的 p 值。但是,它不适用于我的 Github 个人资料(https://github.com/CroixJeremy2/Data-frame-for-stack-overflow.git)上提供的数据集。
预期行为
我希望能够使用我的数据集绘制不同的 p 值,如issue#205中所示。
实际行为
我只能通过 绘制曲线facet.by
。但我无法绘制应该为对数秩检验自动计算的 p 值。相反,在我的 R 控制台中返回一条错误消息:
"Error in model.frame.default(formula = Survival ~ Sex, data = list(ID = c(147L, :"
"les longueurs des variables diffèrent (trouvé pour 'Sex')"
# the last line translated from French to English means:
"variable lengths differ (found for Sex)"
重现问题的步骤
library(survival)
Survival = Surv(time = D$Age, event = D$outcome)
library(survminer)
fit = survfit(data = D, formula = Survival ~ Sex + Genotype)
ggsurvplot(fit = fit, data = D, pval = TRUE, facet.by = 'Genotype') #error message
ggsurvplot(fit = fit, data = D, facet.by = 'Genotype') #curves can be plotted
评论
请注意,该survdiff()
函数在我的数据集上完美运行,以便从对数秩测试中计算 p 值。因此,我不知道我是否做错了ggsurvplot()
(很可能是假设)或者ggsurvplot()
函数本身是否有问题(不太可能)。
survdiff(data = D, subset = D$Ctrl, formula = Survival ~ Sex)
survdiff(data = D, subset = D$nKO, formula = Survival ~ Sex)
survdiff(data = D, subset = D$CRE_Ctrl, formula = Survival ~ Sex)
#works fine, p value returned, no message/warning/error returned.
此外,可变长度似乎相等......而且我的数据框中没有任何“NA”值......所以我真的不明白为什么我有这个错误消息......
sapply(D,function(x) length(x))
# length = 298 for all my variables...
提前感谢您的回复和帮助,