[英]How can I extract vector from filtered data frame
如何从过滤后的数据框中提取值?
例如,让我们在航班数据集中取 10000 个最长的航班。
library(dplyr)
data(flights)<-data(flights)
flights %>%
slice_max(order_by=arr_time, n=100)
我想提取距离向量。 所以我这样做的原因是:
df<-flights %>%
slice_max(order_by=arr_time, n=100)
vec<-df['distance']
#Problem
length(vec)
150
所以我的问题是:为什么长度是 150 而不是 100 ?
max
在值arr_time
是2400
max(flights$arr_time, na.rm = TRUE)
#[1] 2400
flights
中共有 150 行具有该值。
sum(flights$arr_time == max(flights$arr_time, na.rm = TRUE), na.rm = TRUE)
#[1] 150
slice_max
保留所有行以防出现平局,因此所有行都被选中,其值为 2400。如果您想要精确的 100 行arrange
数据,然后slice
以选择前 100 行。
library(dplyr)
df %>% arrange(desc(arr_time)) %>% slice(1:100)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.