определить номинальную переменную для многомерного анализа - PullRequest
1 голос
/ 22 января 2020

В моей базе данных есть коды лечения, и я могу рассчитывать показатели медицинской активности. Я хотел бы выполнить многомерный анализ, чтобы увидеть, для какого типа лечения пациенты чаще всего получают эхо и / или МРТ.

Все процедуры имеют несколько медицинских кодов (символ)

anthracyclines = c("55", "68", "402")
trastuzumab = c("200", "201", "202")
alkylatingagents = c("106", "208", "300", "610")

Теперь я хотел бы сделать одну переменную для лечения. Я определил это так:

treatments = as.factor(c(anthracyclines, trastuzumab, alkylatingagents))

Но R по-прежнему определяет его как фактор с 10 уровнями, ссылаясь на исходные коды. Как мне кодировать его, чтобы изменить его на 3 уровня?

Модели в конечном итоге должны выглядеть следующим образом: с% изображений в качестве непрерывной переменной.

model.im = lm(imaging ~ as.factor(treatments) + Age)

Заранее спасибо за помощь !

1 Ответ

1 голос
/ 22 января 2020

Мы предполагаем, что вектор лечения, как вы сказали:

treatments = c(anthracyclines, trastuzumab, alkylatingagents)

Если лечение и визуализация в этом порядке из 3 антрациклинов, 3 трастузумаба и 4 щелочных агентов, вы можете просто написать

Treatment = rep(c("anthracyclines","trastuzumab","alkylatingagents"),times=c(3,3,4))
lm(imaging ~ Treatments + Age)

Если нет, попробуйте составить список, чтобы сопоставить их

drug2cat = rep(c("anthracyclines","trastuzumab","alkylatingagents"),
times=c(length(anthracyclines),length(trastuzumab),length(alkylatingagents))
)
names(drug2cat) = c(anthracyclines, trastuzumab, alkylatingagents)
Treatments = drug2cat[treatments]
lm(imaging ~ Treatments + Age)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...