gpt4 book ai didi

r - 选择特定列中的值对于所有列中的行最大的行

转载 作者:行者123 更新时间:2023-12-05 08:15:47 27 4
gpt4 key购买 nike

我正在尝试选择数据框中的行,其中 X1 中的值是所有行中的最大值。

X1 <- c(0.7,0.6,0.2,0.5,0.2,0.1,0.1,0.1,0.3,0.2)
X2 <- c(0.1,0.2,0.6,0.3,0.7,0.8,0.1,0.1,0.2,0.7)
X3 <- c(0.1,0.2,0.8,0.2,0.2,0.1,0.4,0.2,0.1,0.2)
df <- data.frame(X1,X2,X3)

我可以通过可视化数据看到 X1 是第 1、2、4、9 行的最大值。我尝试用循环编写类似这样的东西,但没有成功。

df[ df$X1[i] == max(df[ [i] ,] ) , ]

是否需要循环完成,还是可以使用函数完成?任何帮助是极大的赞赏。谢谢

最佳答案

do.call(pmax, df) 将为您提供每一行的最大值,您可以将其与 X1 进行比较以选择行中最大值为X1

df[df$X1 == do.call(pmax, df), ]

# X1 X2 X3
#1 0.7 0.1 0.1
#2 0.6 0.2 0.2
#4 0.5 0.3 0.2
#9 0.3 0.2 0.1

也可以用 apply 来实现:

df[df$X1 == apply(df, 1, max), ]

关于r - 选择特定列中的值对于所有列中的行最大的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66927532/

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