one[, allkneePR := Reduce(`|`, lapply(.SD, `%in%`, any("0081", "0082"))), .SDcols=PR1:PR15]
Это связано с предыдущим вопросом, который я задал: Создание нового столбца на основе нескольких возможных вариантов ячейки в нескольких столбцах . Приведенный выше код работает на практике data.table, но выдает ошибку «принудительный аргумент типа« символ »к логической», когда я запускаю код на фактическом наборе данных ». Нужно ли менять классы моих столбцов или есть более эффективный способ решения этой проблемы? В моем наборе данных миллионы строк. Спасибо !!
Класс PR колонок на данный момент является символом.
Практика data.table:
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