data[, allkneePR := Reduce(`|`, lapply(.SD, `==`, "0082")), .SDcols=PR1:PR3]
Эй, я пытаюсь найти разные диагнозы c ("0082", "0083", "0084") в диапазоне строк и столбцов в data.table (набор данных огромен). Если одно из значений равно «0082», «0083» или «0084» в любом из столбцов PR1: PR3, я хочу другой столбец, который указывает на «истину». Сейчас это работает с приведенным выше кодом, но я пытаюсь добавить несколько диагнозов, а не просто «0082». Я попробовал функцию any (), которая не работает, и просто использование вектора c ("0082", "0083", "0084") не работает.
Мысли? Спасибо!
Забавный набор данных по практике здесь:
data <- as.data.table(data.frame(PR1 = c("0081", "0082", "0083", "0084", "8154"), PR2 = c("12","0084", "1","3", "9"), PR3 = c("9", "12", "25", "0083", "8154")))
data[, allkneePR := Reduce(`|`, lapply(.SD, `==`, "0082")), .SDcols=PR1:PR3]
data