Невозможно построить значения p при использовании facet.by из ggsurvplot. Сообщение об ошибке: "разная длина отличается"
У меня проблема, которую я не знаю, как решить. И похоже, это связано с моим набором данных (или нет?). Действительно, я действительно могу построить различные значения p при использованииfacet.by
когда я использую ваш пример из выпуска № 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...
Заранее благодарим за ответ и помощь,