gpt4 book ai didi

r - 如何从数据框中检索与其他列的最大值相对应的列中的值

转载 作者:行者123 更新时间:2023-12-02 19:33:31 24 4
gpt4 key购买 nike

我有一个像这样的数据框:

[,1] [,2] [,3] [,4] [,5] [,6]
a 1 5 7 9 4
b 2 8 2 3 5
c 3 9 2 4 8
d 4 2 6 1 3

我想根据其他列的最大值获取列 [,1] 的值。结果应该是这样的:

[1] "d" "c" "a" "a" "c"

提前谢谢您。

最佳答案

如果您有数据框,则可以使用 which.max 获取每列中的索引最大值,并使用该索引对第一列中的值进行子集化。

df$V1[sapply(df[-1], which.max)]
#[1] "d" "c" "a" "a" "c"

如果你有矩阵(看起来更有可能),那么由于第一列,所有值都会变成字符,在这种情况下你可以这样做:

mat[apply(mat[, -1], 2, function(x) which.max(as.numeric(x))), 1]
#[1] "d" "c" "a" "a" "c"

数据

df <- structure(list(V1 = c("a", "b", "c", "d"), V2 = 1:4, V3 = c(5L, 
8L, 9L, 2L), V4 = c(7L, 2L, 2L, 6L), V5 = c(9L, 3L, 4L, 1L),
V6 = c(4L, 5L, 8L, 3L)), row.names = c(NA, -4L), class = "data.frame")

mat <- structure(c("a", "b", "c", "d", "1", "2", "3", "4", "5", "8",
"9", "2", "7", "2", "2", "6", "9", "3", "4", "1", "4", "5", "8",
"3"), .Dim = c(4L, 6L))

关于r - 如何从数据框中检索与其他列的最大值相对应的列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61428117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com