R脚本,计算一行数据中的最大值

时间:2012-08-03 15:10:41

标签: r max summary

我在R脚本中有这块代码,它的作用是从数据框(比如4列)中找到并计算具有最大值的列的每一行。但是当连续存在关系(比如两个或者三个最大值)时,下面的代码只考虑第一个(不计算其他代码)。在R中是否有任何方法可以计算具有最大值的列,即使行中有多个最大值(tie?)。

m_0 <- read.csv(file="Tests/myResults", head=FALSE, sep=",")

varb_m0 <- c(m0$ V4)

#create dataframe
  

myDataFrame&lt; - data.frame(mode_0 = varb_m0)

#find max
result <- apply(myDataFrame,1,which.max)

#factor it
result <- factor(result)

#print result
names(myDataFrame)[result]

summary(result)

1 个答案:

答案 0 :(得分:2)

一种简单的方法是首先制作一个函数:

all_max <- function(x) {which(x == max(x))}  #Index of each value that is maximum.

然后将其应用于您的数据框:

result <- apply(myDataFrame,1,all_max)

我认为其余的应该是相同的,尽管你没有提供任何数据来测试它。