如何在R中检索数据帧中列的最大值对应的行值
正如标题所示,我有一个查询来访问对应于列的最大值的行值(不是索引,也不是整行) 例如:我有以下数据集(结果): 需要以下方面的帮助:如何在R中检索数据帧中列的最大值对应的行值,r,R,正如标题所示,我有一个查询来访问对应于列的最大值的行值(不是索引,也不是整行) 例如:我有以下数据集(结果): 需要以下方面的帮助: 如何编写命令来检索与标记(88)的最大列值相对应的行值(“sam”) 我可以使用以下命令获得“标记”列的最大值: max(results$marks, na.rm = TRUE) 然而,当我将它分配给一个变量以查看谁在考试中名列前茅时,我只得到标题名,而没有得到值sam top_scorer<- results$Name[which.max(results
max(results$marks, na.rm = TRUE)
然而,当我将它分配给一个变量以查看谁在考试中名列前茅时,我只得到标题名,而没有得到值sam
top_scorer<- results$Name[which.max(results$marks, na.rm = TRUEr)]
顶级射手你就快到了。实际上,您在示例代码中使用了which.max
。要获得分数第二高的人,您可以按分数排序,然后选择第二个条目。这应该对双方都有效。我们使用which.max
作为最大值,使用排序作为第二个最大值:
df <- data.frame(Name=c("sam","paul","tom","james", "richard"),
subject=c("maths", "science", "social", "english", "maths"),
marks=c(88,79, 66, 78, 83))
df$max_name <- df$Name[which.max(df$marks)]
df <- df[order(df$marks,decreasing=T),]
df$second_max_name <- df$Name[2]
df可能重复的
df <- data.frame(Name=c("sam","paul","tom","james", "richard"),
subject=c("maths", "science", "social", "english", "maths"),
marks=c(88,79, 66, 78, 83))
df$max_name <- df$Name[which.max(df$marks)]
df <- df[order(df$marks,decreasing=T),]
df$second_max_name <- df$Name[2]