如何使用dplyr包中的top_n函数,根据指定列的值按降序提取R数据框中的行?
要使用dplyr包中的top_n函数根据某一列的值按降序提取R数据框中的行,可以按照以下步骤操作:
首先,创建一个数据框。
然后,使用dplyr包中的top_n函数,结合arrange和desc函数,根据某一列的值按降序提取行。
示例
创建数据框
让我们创建一个如下所示的数据框:
x<-rnorm(25) y<-rnorm(25) z<-rnorm(25) df<-data.frame(x,y,z) df
输出
执行上述脚本后,会生成如下输出(由于随机化,此输出可能因系统而异):
x y z 1 1.08454409 -0.592046057 0.6585417 2 1.65592292 -0.265941582 1.2114817 3 0.95440090 1.470083462 0.6739091 4 0.06280736 1.084730080 -0.8584295 5 -0.04918568 -0.001605027 1.7565422 6 0.35331320 2.053520032 0.5908641 7 0.21018034 0.895508750 -1.9313533 8 0.78907443 -0.424032581 0.2284949 9 0.98025083 0.073661099 0.2703707 10 0.01489154 -1.141132107 -1.7172786 11 0.51234250 -0.639931256 -0.5090562 12 0.09545684 0.428505867 -0.9865289 13 0.50701056 0.235247092 0.3148251 14 1.13687902 0.293837030 -0.4454266 15 1.16216903 2.231980020 -0.2709523 16 0.13175251 0.580977886 2.1508614 17 -0.86654329 0.103780077 -0.2392656 18 -0.47974879 -0.885647792 -1.2632639 19 -0.22566103 1.324036551 -0.2278964 20 -0.90975779 -0.192113587 1.5349889 21 -0.70991831 1.788266163 -0.3879485 22 -0.04723729 0.105558093 -1.9307871 23 0.81483081 1.318454260 -1.1376648 24 0.02234493 0.915030839 -0.8694467 25 -1.04939721 -0.978056239 -1.3975816
按降序排列某列提取行
使用dplyr包中的top_n函数,结合arrange和desc函数,根据列x的值按降序提取行,如下所示:
x<-rnorm(25) y<-rnorm(25) z<-rnorm(25) df<-data.frame(x,y,z) library(dplyr) top_n(df,10,x) %>% arrange(desc(x))
输出
x y z 1 1.6559229 -0.2659416 1.2114817 2 1.1621690 2.2319800 -0.2709523 3 1.1368790 0.2938370 -0.4454266 4 1.0845441 -0.5920461 0.6585417 5 0.9802508 0.0736611 0.2703707 6 0.9544009 1.4700835 0.6739091 7 0.8148308 1.3184543 -1.1376648 8 0.7890744 -0.4240326 0.2284949 9 0.5123425 -0.6399313 -0.5090562 10 0.5070106 0.2352471 0.3148251
广告