У меня есть проблема, которую я не знаю, как решить. И это, кажется, связано с моим набором данных (или это?). На самом деле, я могу отображать различные значения p при использовании facet.by
, когда использую ваш пример из issue # 205 через набор данных «двоеточие». Однако он не работает с моим набором данных, который доступен в моем профиле Github здесь (https://github.com/CroixJeremy2/Data-frame-for-stack-overflow.git).
Ожидаемое поведение
Я хотел бы иметь возможность строить различные значения p, как в выпуске # 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...
Спасибо заранее за ваш ответ и помощь,