R 从数据帧中的一列获取某些值
让我们以著名的数据集-航班为例 我想有10个航班,最大的和最低的功能到达时间 我试着这样做:R 从数据帧中的一列获取某些值,r,dplyr,R,Dplyr,让我们以著名的数据集-航班为例 我想有10个航班,最大的和最低的功能到达时间 我试着这样做: library(dplyr) #Highest values flights %>% group_by(air_time) %>% top_n(10, air_time) #Smallest values flights %>% group_by(air_time) %>% top_n(-10,air_time) 然而问题是我得到了一些非常奇怪的东西。这两个结果是
library(dplyr)
#Highest values
flights %>%
group_by(air_time) %>%
top_n(10, air_time)
#Smallest values
flights %>%
group_by(air_time) %>%
top_n(-10,air_time)
然而问题是我得到了一些非常奇怪的东西。这两个结果是相同的。我认为使用
groupby
可能会有问题,但没有它也无法工作。尝试dplyr中的slice\u min/\u max函数:
library(dplyr)
library(nycflights13)
data(flights)
#Largest values
flights %>%
dplyr::slice_max(order_by = arr_time, n = 10)
#Smallest values
flights %>%
dplyr::slice_min(order_by = arr_time, n = 10)
尝试dplyr中的slice_min/_max函数:
library(dplyr)
library(nycflights13)
data(flights)
#Largest values
flights %>%
dplyr::slice_max(order_by = arr_time, n = 10)
#Smallest values
flights %>%
dplyr::slice_min(order_by = arr_time, n = 10)
当您希望按
arr\u time
排列前10位值时,不应按它分组。尝试:
library(dplyr)
flights %>%
top_n(10, air_time) %>%
select(air_time) %>%
arrange(air_time)
# air_time
# <dbl>
# 1 671
# 2 671
# 3 675
# 4 676
# 5 676
# 6 679
# 7 683
# 8 686
# 9 686
#10 691
#11 695
库(dplyr)
航班%>%
排名靠前(10,播放时间)%>%
选择(空调时间)%>%
安排(空运时间)
#飞行时间
#
# 1 671
# 2 671
# 3 675
# 4 676
# 5 676
# 6 679
# 7 683
# 8 686
# 9 686
#10 691
#11 695
及
航班%>%
排名靠前(-10,播放时间)%>%
选择(空调时间)%>%
安排(空运时间)
#飞行时间
#
# 1 20
# 2 20
# 3 21
# 4 21
# 5 21
# 6 21
# 7 21
# 8 21
# 9 21
#10 21
#11 21
#12 21
#13 21
#14 21
#15 21
#16 21
top\n
保留领带,因此两行中都有超过10行。此外,top\u n
已被替换为slice\u min
/max
当您希望在arr\u时间之前获得前10个值时,您不应按它分组。尝试:
library(dplyr)
flights %>%
top_n(10, air_time) %>%
select(air_time) %>%
arrange(air_time)
# air_time
# <dbl>
# 1 671
# 2 671
# 3 675
# 4 676
# 5 676
# 6 679
# 7 683
# 8 686
# 9 686
#10 691
#11 695
库(dplyr)
航班%>%
排名靠前(10,播放时间)%>%
选择(空调时间)%>%
安排(空运时间)
#飞行时间
#
# 1 671
# 2 671
# 3 675
# 4 676
# 5 676
# 6 679
# 7 683
# 8 686
# 9 686
#10 691
#11 695
及
航班%>%
排名靠前(-10,播放时间)%>%
选择(空调时间)%>%
安排(空运时间)
#飞行时间
#
# 1 20
# 2 20
# 3 21
# 4 21
# 5 21
# 6 21
# 7 21
# 8 21
# 9 21
#10 21
#11 21
#12 21
#13 21
#14 21
#15 21
#16 21
top\n
保留领带,因此两行中都有超过10行。此外,top\u n
已被替换为slice\u min
/max