Маркировка с помощью петель - PullRequest
0 голосов
/ 12 февраля 2020

Есть ли способ преобразовать метки всех этих переменных из 0 и 1 в «Нет» и «Да» по al oop без создания нескольких строк кода.

lev_bin<-c(0,1); lab_bin<-c("No","Yes")
Epidem$Cardiac.diag<-factor(Epidem$Cardiac.diag,lev_bin,lab_bin)
Epidem$Cardiac.morb<-factor(Epidem$Cardiac.morb,lev_bin,lab_bin)
Epidem$Cong.heart.fail.morb<-factor(Epidem$Cong.heart.fail.morb,lev_bin,lab_bin)
Epidem$Dementia.morb<-factor(Epidem$Dementia.morb,lev_bin,lab_bin)
Epidem$Psychic.morb<-factor(Epidem$Psychic.morb,lev_bin,lab_bin)
Epidem$Chron.pulm.morb<-factor(Epidem$Chron.pulm.morb,lev_bin,lab_bin)
Epidem$Renal.morb<-factor(Epidem$Renal.morb,lev_bin,lab_bin)
Epidem$Liver.morb<-factor(Epidem$Liver.morb,lev_bin,lab_bin)
Epidem$GI.bleeding.morb<-factor(Epidem$GI.bleeding.morb,lev_bin,lab_bin)
Epidem$Malignancy.morb<-factor(Epidem$Malignancy.morb,lev_bin,lab_bin)
Epidem$Immunologic.morb<-factor(Epidem$Immunologic.morb,lev_bin,lab_bin)
Epidem$Transfer.more.24H<-factor(Epidem$Transfer.more.24H,lev_bin,lab_bin)
Epidem$Def.myocard.infarct<-factor(Epidem$Def.myocard.infarct,lev_bin,lab_bin)

Спасибо!

1 Ответ

2 голосов
/ 12 февраля 2020

Сначала вы создаете вектор с именами переменных, которые вы хотите изменить

variables <- c("Cardiac.diag", "Cardiac.morb" ..., "Def.myocard.infarct") 

вы можете делать с подмножеством names(Epidem)

Затем вы применяете простое l oop :

for (i in variables){
Epidem[,i] <- factor(epidem[,i], lev_bin, lab_bin) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...