考虑数据框:
a=1
b=3
c=4
df=data.frame(a,b,c)
row.names(df)<-"x"
Preview:
╔═══╦═══╦═══╦═══╗
║ ║ a ║ b ║ c ║
╠═══╬═══╬═══╬═══╣
║ x ║ 1 ║ 3 ║ 4 ║
╚═══╩═══╩═══╩═══╝
maxn <- function(n) function(x) order(x, decreasing = TRUE)[n]
highest<- apply(df, 1, function(x)x[maxn(1)(x)])
这是它产生的输出:
> highest
x
4
我需要的还有行名和列名:
c
x 4
答案 0 :(得分:3)
试试这个:
df[apply(df,1,which.max)]