Как использовать функцию prodlim с недвоичной переменной в формуле? - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь (в конце концов) построить данные по группам, используя функцию prodlim. Я корректирую и адаптирую код, который написал кто-то другой (недоступный для вопросов), и я не очень знаком с библиотекой / функцией prodlim. Есть определенно другие способы сделать то, что я хотел бы, но я стараюсь, чтобы это соответствовало тому, что делал предыдущий человек.
У меня есть код, который работает, когда я делю данные на 2 группы, но когда я пытаюсь приспособиться к ситуации с 4 группами, я получаю сообщение об ошибке.
Следует отметить, что данные поступают из SAS с использованием StatTransfer, который работал нормально.

Я новичок в кодировании, но я сравнил кадры данных, с которыми пытаюсь работать. Второе - это просто подмножество первого (где код работает) со всеми одинаковыми переменными, и обе переменные, которые я пытаюсь сгруппировать, являются целочисленными значениями.
Hist(medpop$dz_time, medpop$dz_status) работает просто отлично, поэтому проблема должна быть в функции prodlim, и я не очень понял из того, что я искал по этому поводу, к сожалению: / Но в документации, похоже, указано, что она поддерживает непрерывные или категориальные переменные и тоже не ограничивается бинарным. Насколько я понимаю, ни один из этих вариантов не подходит.

это работает:

M <- prodlim(Hist(dz_time, dz_status)~med, data=pop)

где med - это двоичное значение = 1, когда член этой группы населения принимает его, а dz - заболевание, которое развивается в некоторой части.

это не: (любой из них получает ошибку, как показано ниже)

N <- prodlim(Hist(dz_time, dz_status)~strength, data=medpop)
N <- prodlim(Hist(dz_time, dz_status)~strength, data=pop, subset=pop$med==1)

medpop = подмножество исходной популяции, принимающей мед,
сила = категориальная переменная («1», «2», «3», «4»)

Для строки, которая работает, следующим шагом будет просто plot(M), дающий график с двумя линиями, med == 0 и med == 1 (показывающий совокупное число dz_status по dz_time).

Для другой строки я получаю сообщение об ошибке
Error in KernSmooth::dpik(cumtabx/N, kernel = "box") : scale estimate is zero for input data

Я не знаю, что это значит или как это исправить ..: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...