如何在 R 中遍历 5 个不同的日期?
How to loop through 5 different dates in R?
我正在尝试通过 rbind
函数合并我在循环中创建的数据框。我对 R 很陌生,所以这可能是一个菜鸟错误。创建列表后,它似乎创建了一个包含 5 个字符的列表。当我尝试 运行 代码时,它没有找到任何数据,因为它没有正确循环日期。
dates <- list("2020-07", "2020-08", "2020-09", "2020-10", "2020-11")
crimes <- data.frame()
for(i in dates){
rbind(crimes,as.data.frame(ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)))
}
我认为您可能需要crimes <-
在每次迭代中更新crimes
,例如
for(i in dates){
crimes <- rbind(crimes,as.data.frame(ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)))
}
你走在正确的轨道上,但你需要存储 rbind()
的结果,或者在这个例子中使用 dplyr::bind_rows()
到你的变量 crimes
:
library(ukpolice)
library(dplyr)
dates <- c("2020-07", "2020-08", "2020-09", "2020-10", "2020-11")
crimes <- tibble()
for (i in dates) {
data = ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)
crimes <- bind_rows(crimes, data)
}
crimes
编辑: ThomasIsCoding 的回答更直接,当我注意到它缺少一个作业时,我仍在尝试让一个示例工作,因此代码更广泛。
P.S.: 提及您使用的是 library(ukpolice)
会很有帮助。 ;)
使用 lapply
而不是循环的另一个选项
df_list <- lapply(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))
crimes <- do.call(rbind, df_list)
或 purrr::map_dfr
旨在 rbind
输出列表。
library(purrr)
crimes <- map_dfr(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))
我正在尝试通过 rbind
函数合并我在循环中创建的数据框。我对 R 很陌生,所以这可能是一个菜鸟错误。创建列表后,它似乎创建了一个包含 5 个字符的列表。当我尝试 运行 代码时,它没有找到任何数据,因为它没有正确循环日期。
dates <- list("2020-07", "2020-08", "2020-09", "2020-10", "2020-11")
crimes <- data.frame()
for(i in dates){
rbind(crimes,as.data.frame(ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)))
}
我认为您可能需要crimes <-
在每次迭代中更新crimes
,例如
for(i in dates){
crimes <- rbind(crimes,as.data.frame(ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)))
}
你走在正确的轨道上,但你需要存储 rbind()
的结果,或者在这个例子中使用 dplyr::bind_rows()
到你的变量 crimes
:
library(ukpolice)
library(dplyr)
dates <- c("2020-07", "2020-08", "2020-09", "2020-10", "2020-11")
crimes <- tibble()
for (i in dates) {
data = ukc_crime_location(lat = 52.395355, lng = -1.492943, date = i)
crimes <- bind_rows(crimes, data)
}
crimes
编辑: ThomasIsCoding 的回答更直接,当我注意到它缺少一个作业时,我仍在尝试让一个示例工作,因此代码更广泛。
P.S.: 提及您使用的是 library(ukpolice)
会很有帮助。 ;)
使用 lapply
而不是循环的另一个选项
df_list <- lapply(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))
crimes <- do.call(rbind, df_list)
或 purrr::map_dfr
旨在 rbind
输出列表。
library(purrr)
crimes <- map_dfr(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))