У меня есть набор данных с именем, оценка 1, оценка 2, оценка 3, оценка 4, оценка 5, оценка 6 столбцов.Я хочу создать новый столбец "правило" путем объединения имен столбцов и ненулевых значений столбцов.
name score1 score2 score3 score4 score5 score6 rule
name1 0 0 0 0 0 0 NA
name2 0 1 0 0 0 0 score2:1
name3 0 1 1 0 1 0 score2:1,score3:1,score5:1
name4 1 1 1 1 1 1 score1:1,score2:1,score3:1,score4:1,score5:1,score6:1
Я написал следующий код для объединения, но я не могу исключить имена столбцов с нулевыми значениями.
cols <- colnames(data)[-1]
data <- data[, rules := do.call(paste, c(lapply(cols, function(x) paste(x, get(x), sep=":")),
sep=","))]
Любая помощь будет высоко оценена.ТИА.