我在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)
答案 0 :(得分:2)
一种简单的方法是首先制作一个函数:
all_max <- function(x) {which(x == max(x))} #Index of each value that is maximum.
然后将其应用于您的数据框:
result <- apply(myDataFrame,1,all_max)
我认为其余的应该是相同的,尽管你没有提供任何数据来测试它。