Настройка масштаба y в панели терминала на графике ctree выживания

Я использую ctree() в пакете party/partykit для построения дерева выживания модели выживания.

Общая выживаемость хорошая, в худшем случае 95% выживания, поэтому я хотел бы изменить yscale на c(0.9, 1), чтобы панели были полезны на финальном сюжете.

Мне нужно настроить аргументы yscale на панелях терминалов графиков выживания, но это вызывает ошибку и кажется невозможным.

Возможно ли это в ctree() или мне следует использовать другой метод?

Я добавил аргументы для yscale в функцию terminal_panel, но это вызывает ошибку

"Error in survfitKM(X, newY, casewt, ...) : 
  unused argument (yscale = c(0.9, 1))"

    plot(taperfit.ct, terminal_panel = node_surv(taperfit.ct, yscale = c(0.9, 1)))

Я ожидал, что это изменит масштаб, чтобы увеличить графики КМ со шкалой по оси Y от 90% выживания до 100% выживания, но этого не произошло.


person JisL    schedule 13.02.2019    source источник
comment
Я работал над этим и нашел код в функции node_surv, которая управляет панелью графика КМ, но я не могу изменить код для настройки вывода. Я использовал следующее: fixInNamespace(node_surv, party) для временного просмотра и редактирования кода, но это не имеет значения. Я также пытался использовать: trace(node_surv, edit=TRUE), но это выдает ошибку: невозможно найти среду, содержащую класс «grapcon_generator». Есть идеи?   -  person JisL    schedule 14.02.2019
comment
Я также пытался использовать: plot(taperfit.ct, terminal_panel = node_surv, tp_args= list(yscale = c(0.9,1))), но это выдает ошибку: Ошибка в survfitKM(X, newY, casewt,...): неиспользуемый аргумент (yscale = c(0.9, 1))   -  person JisL    schedule 14.02.2019


Ответы (1)


До сих пор у функции node_surv() не было аргумента yscale, и, следовательно, когда вы его предоставили, он был передан неправильной функции, что привело к ошибке. Однако я только что добавил его в репозиторий partykit на R-Forge. Таким образом, если вы извлечете и соберете partykit оттуда, ваш код

plot(taperfit.ct, terminal_panel = node_surv(taperfit.ct, yscale = c(0.9, 1)))

или для краткости

plot(taperfit.ct, tp_args = list(yscale = c(0.9, 1)))

должно сработать.

Вы также можете вручную обойти проблему, если используете старую реализацию party (или у вас проблемы со сборкой partykit).

taperplot <- node_surv(taperfit.ct, yscale = c(0.9, 1))
fix(taperplot) ## go to line 11 and change the definition of yscale
plot(taperfit.ct, terminal_panel = taperplot)
person Achim Zeileis    schedule 15.02.2019
comment
Большое спасибо. Я передам комплект для вечеринки и попробую. - person JisL; 17.02.2019
comment
Спасибо за вашу помощь. Я был очень медленным, извините. Я использовал partykit с аргументами, перечисленными выше (1- панель терминала, 2- tp_args), и сюжет все равно не меняется. Есть ли другие способы заставить это работать? - person JisL; 06.03.2019
comment
Вы использовали последнюю версию partykit от R-Forge. К сожалению, в настоящее время пакет не собирается автоматически, так что вам придется проверять его и собирать вручную. Или, в качестве альтернативы, вы выполняете ручной обходной путь, о котором я упоминал. - person Achim Zeileis; 06.03.2019
comment
Привет, извините, у меня не было последней версии, я попробую это или обойдусь. - person JisL; 06.03.2019