簡體   English   中英

如何從過濾后的數據框中提取向量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM