当两个或多个值同时存在时,按行查找data.frame中的唯一最大值
我有几个data.frames,我必须找到给定某列的最大值。某些data.frames具有唯一的最大值,但另一些data.frames具有两个或多个唯一的最大值 如何打印具有此类data.frames的最大值的行 一些虚假数据:当两个或多个值同时存在时,按行查找data.frame中的唯一最大值,r,dataframe,find,max,rows,R,Dataframe,Find,Max,Rows,我有几个data.frames,我必须找到给定某列的最大值。某些data.frames具有唯一的最大值,但另一些data.frames具有两个或多个唯一的最大值 如何打印具有此类data.frames的最大值的行 一些虚假数据: #### Simple case with only one unique max value df = data.frame(x = c(1,1,1,1,2,2,2,2,2), y = c(10, 10, 10, 10, 10, 10, 10, 9, 9)) df
#### Simple case with only one unique max value
df = data.frame(x = c(1,1,1,1,2,2,2,2,2), y = c(10, 10, 10, 10, 10, 10, 10, 9, 9))
df = data.frame(table(df$y))
df$Var1 = as.numeric(levels(df$Var1))[df$Var1]
max_val = df[which.max(df$Freq),]
print(max_val)
Var1 Freq
2 10 7
#### Unknown case with two unique max values
df_2 = data.frame(x = c(1,1,1,1,2,2,2,2,2), y = c(10, 10, 10, 9, 9, 9, 11, 11, 15))
df_2 = data.frame(table(df_2$y))
df_2$Var1 = as.numeric(levels(df_2$Var1))[df_2$Var1]
来自df_2的所需输出
Var1 Freq
1 9 3
2 10 3
感谢您的帮助选择频率与最大值相同的位置
df_2[df_2$Freq == max(df_2$Freq),]
# Var1 Freq
#1 9 3
#2 10 3
选择频率与最大值相同的位置
df_2[df_2$Freq == max(df_2$Freq),]
# Var1 Freq
#1 9 3
#2 10 3