У меня есть медицинский фрейм данных в R, который в настоящее время содержит 700 столбцов. Он также включает в себя информацию о лекарствах, предоставляемых пациентам. Эта информация распространяется на сотни столбцов (для каждого класса). Проблема в том, что информация хранится в виде свободного текста. Я хочу изменить информацию на 1 и 0, где 1 код, в котором есть текст в ячейке, а 0 представляет NA, например:
dat$Admission_Ace.Inhibitors..Plain <- factor(ifelse(is.na(dat$Admission_Ace.Inhibitors..Plain), 0, 1))
Однако, несмотря на то, что это решение работает отлично, оно работает только для один столбец за раз, и мне нужно перекодировать сотни. До сих пор мне не удавалось автоматизировать процессы. Не могли бы вы помочь мне?
Примечание: у меня есть вектор, содержащий все имена столбцов, которые нуждаются в этом изменении, которые я получил с помощью этого метода:
admission <- names(dat)[grepl("Admission", names(dat), ignore.case = T )]