如何在R中循环5个不同的日期?
我正在尝试通过如何在R中循环5个不同的日期?,r,for-loop,bind,R,For Loop,Bind,我正在尝试通过rbind函数合并在循环中创建的数据帧。我是新手,所以这可能是新手犯的错误。创建列表后,似乎创建了一个包含5个chr的列表。当我试图运行代码时,它没有找到任何数据,因为它没有正确地循环日期 dates <- list("2020-07", "2020-08", "2020-09", "2020-10", "2020-11") crimes <- data.frame()
rbind
函数合并在循环中创建的数据帧。我是新手,所以这可能是新手犯的错误。创建列表后,似乎创建了一个包含5个chr的列表。当我试图运行代码时,它没有找到任何数据,因为它没有正确地循环日期
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)))
}
dates我认为您可能需要crimes我认为您可能需要crimes您的方法是正确的,但是您需要存储rbind()
的结果,或者在本例中使用dplyr::bind_rows()
到您的变量crimes
:
图书馆(英国警察)
图书馆(dplyr)
日期您在正确的轨道上,但是您需要存储rbind()的结果
,或者在本例中,使用dplyr::bind_rows()
将结果存储到变量中:
图书馆(英国警察)
图书馆(dplyr)
日期使用lappy
而不是循环的另一个选项
df_list <- lapply(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))
crimes <- do.call(rbind, df_list)
使用lappy
而不是循环的另一个选项
df_list <- lapply(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))
crimes <- do.call(rbind, df_list)
会提到,对于以后的问题,非常感谢您的帮助,非常有帮助!你的答案也很有用,但我会使用Thomasscoding的答案,因为它实际上没有那么多代码。对于以后的问题,我会提到这一点,非常感谢你的帮助,非常有帮助!你的答案也很有用,但我会使用Thomascoding的答案,因为它实际上是更少的代码。现在有很多意义了!谢谢你的帮助,现在说得很有道理!谢谢你的帮助
library(purrr)
crimes <- map_dfr(dates, function(x) ukc_crime_location(lat = 52.395355, lng = -1.492943, date = x))