gpt4 book ai didi

R:返回具有最高值的 5 行

转载 作者:行者123 更新时间:2023-12-01 10:36:08 24 4
gpt4 key购买 nike

示例数据

mysample <- data.frame(ID = 1:100, kWh = rnorm(100))

我正在尝试自动执行返回数据框中包含特定列中 5 个最高值的行的过程。在示例数据中,可以使用代码找到“kWh”列中的 5 个最高值:

(tail(sort(mysample$kWh), 5))

在我的例子中返回:

[1] 1.477391 1.765312 1.778396 2.686136 2.710494

我想创建一个表,其中包含第 2 列中包含这些数字的行。我正在尝试使用此代码:

mysample[mysample$kWh == (tail(sort(mysample$kWh), 5)),]

返回:

   ID      kWh  
87 87 1.765312

我希望它返回在“kWh”列中包含上述数字的 r 行。我确定我错过了一些基本的东西,但我想不通。

最佳答案

我们可以使用rank

mysample$Rank <- rank(-mysample$kWh)
head(mysample[order(mysample$Rank),],5)

如果我们不需要创建列,直接使用order(如@Jaap在三种替代方法中提到的)

#order descending and get the first 5 rows
head(mysample[order(-mysample$kWh),],5)
#order ascending and get the last 5 rows
tail(mysample[order(mysample$kWh),],5)
#or just use sequence as index to get the rows.
mysample[order(-mysample$kWh),][1:5]

关于R:返回具有最高值的 5 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134405/

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