У меня есть следующий кадр данных:Нахождение 3 столбца с наибольшим значением в каждой строке и поместить свое имя в новом кадре данных в R
temp1=data.frame(id=c(1,2,3,4,5),p1=c(0,0,1,1,2),p2=c(9,2,3,5,3),p3=c(1,4,10,3,7),p4=c(4,4,7,1,10))
id p1 p2 p3 p4
1 0 9 1 4
2 0 2 3 4
3 1 3 10 7
4 1 5 3 1
5 2 3 7 10
для каждого идентификатора Я хочу, чтобы извлечь первые три столбца с наибольшим значением и поместить их в новый кадр данных что-то вроде этого:
id top1 top2 top3
1 p2 p4 p3
2 p4 p3 p2
3 p3 p4 p2
4 p2 p3 p4/p1
5 p4 p3 p2
в случае, если есть два одинаковых значения мы позволили поместить их в произвольном порядке.
@akrun я был бы признателен за вашу помощь – sanaz
Есть ли только одна строка, соответствующая одному идентификатору или же идентификатор может быть в нескольких строках? –
есть только одна строка, соответствующая одному id – sanaz