将计算应用于多个列

时间:2017-06-23 05:46:10

标签: r

我有一张包含n列的表格。我想在每列中找到最大的值,然后返回同一行中列CAG的值。我已经设法为A01列做了这个,但是你可以帮助我在所有列中应用吗?

#My data frame
data <- data.frame(CAG = c(13, 14, 15), A01 = c(6485,35,132), A02 = c(0,42,56))

#My function# applied to work with column A01
result <- data$CAG[data$'A01' == max(data$'A01')]

1 个答案:

答案 0 :(得分:1)

你想要which.max。使用sapply将其应用于所有列。

> data[sapply(data[2:ncol(data)], which.max), ]$CAG
[1] 13 15