Для следующего кадра данных:R имя возврата колонки в зависимости от условий
DF <- data.frame(Row=c(1,2,3,4,5),`2.04`=c(1,1,0,1,1),`2.05`=c(0,0,0,0,1),
`2.06`=c(1,0,0,0,1),`2.07`=c(1,0,0,0,1),`2.08`=c(1,1,1,0,0), check.names = F)
я хотел бы вернуться в новый вектор для каждой строки имени столбца, который имеет как оба (а) значение больше 0 в соответствующей строке; (Б) имя столбца имеет наибольшее значение всех тех, которые удовлетворяют условие а, таким образом, что:
DF <- data.frame(Row=c(1,2,3,4,5),'2.04'=c(1,1,0,0,1),'2.05'=c(0,0,0,0,1),
'2.06'=c(1,0,0,0,1),'2.07'=c(1,0,0,1,1),'2.08'=c(1,1,1,0,0),
Results=c(2.08,2.08,2.08,2.04,2.07)
Таким образом, для строки 2 столбцов 2,04 и 2,08 встречается условие (а), и только 2.08 удовлетворяет условие (б) потому что 2.08> 2.04.
dplyr
или data.table
было бы предпочтительно.
Удивительно, почему люди не поддерживают оптимальное решение – akrun