Невозможно построить значения 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...

Заранее благодарим за ответ и помощь,

0 ответов

Другие вопросы по тегам