Ошибка отладки для data.table производства логического вектора - PullRequest
0 голосов
/ 06 апреля 2020

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
...