У меня есть матрица вроде этого:Как извлечь имена столбцов, которые соответствуют наибольшим из трех чисел в каждой строке в матрице?
x <- matrix(rnorm(100), nrow = 10)
colnames(x) <- combn(letters[1:8], 2, FUN = paste0, collapse = '')[seq_len(ncol(x))]
Я хочу, чтобы извлечь COLNAMES которые наибольшие три числа в каждой строке соответствуют. Я пытаюсь использовать следующий код, чтобы решить эту проблему:
apply(x,1,function(x) order(x,decreasing=T)[1:3])
или
apply(x,1,function(x) x[order(x,decreasing=T)[1:3]])
Но я только извлечь значение или номера столбцов, а не colnames.Futher, если я хочу, ценности и COLNAMES как в ячейку в матрице размером 3 × 10 и каждую ячейку, такую как: (значение, ее имя colname), как мне улучшить код?