有谁知道如何在导入的第一步中根据date_of_incident从R中的socrata数据集中自动过滤数据,以加快读取时间?
这是我到目前为止所拥有的
token <- "n15hFiXqJU6DBItiSjA4jWD2U"
PoliceIncidents <- read.socrata("https://www.dallasopendata.com/resource/qv6i-rri7.csv", app_token = token)#将警情数据过滤至2019年展现
PoliceIncidents2019to2020 <- PoliceIncidents %>% filter(servyr > 2018)这是源数据https://www.dallasopendata.com/Public-Safety/Police-Incidents/qv6i-rri7/data
发布于 2020-11-28 02:21:15
对于大型csvs,我喜欢来自tidyverse的包vroom。它比read_csv快得多。使用vroom,通常更容易接受全部内容,然后再进行过滤。
library(vroom)
library(tidyverse)
df_raw<-vroom('Police_Incidents.csv')
occurence_2019<-df_raw %>%
filter(`Year1 of Occurrence`>=2019)这只花了大概10秒。
发布于 2020-11-30 13:45:19
您可以在原始查询中使用filters来仅拉取2019年后的事件。这将加快读取过程,主要是从不需要传递大量数据的服务器响应中读取。您需要使用"API字段名“来构造查询。
在这种情况下:
PoliceIncidents <- read.socrata("https://www.dallasopendata.com/resource/qv6i-rri7.csv?servyr > 2018")https://stackoverflow.com/questions/65040621
复制相似问题