gpt4 book ai didi

r - 使用 plyr - R 分块后从一列中获取具有最高值的行

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

假设我有一个如下所示的数据框:

   v1 v2 v3 v4 v5 v6
r1 1 2 2 4 5 9
r2 1 2 2 4 5 10
r3 1 2 2 4 5 7
r4 1 2 2 4 5 12
r5 2 2 2 4 5 9
r6 2 2 2 4 5 10

我想获取 v6 中值最高且 v1 中值为 1 的行。我知道如何获取 v1 = 1 的所有行并选择其中的第一行,感谢 this answer回答上一个问题:

ddply( df , .variables = "v1" , .fun = function(x) x[1,] )

如何更改函数以便获得 v6 中具有最高值的行?

最佳答案

根据之前的结果,我将使用 [ 使用 逻辑 比较器对第一个条件进行子集化,然后对第二个条件进行第二个子集,因为@sgibb在评论中指出,v6max 值可能不在 v1 == 1 的行中。

#  Subset to those rows where v1 == 1
tmp <- df[ df$v1 == 1 , ]

# Then select those rows where the max value of v6 appears
tmp[ tmp$v6 == max( tmp$v6 ) , ]

如果您想要第一次出现,请使用which.max()

关于r - 使用 plyr - R 分块后从一列中获取具有最高值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764825/

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