R 编写包含一系列日期的循环
我有一个R脚本,可以每天自动运行。问题是,最终输出中出现了一个小错误,导致我需要再次运行过去的两个月。看到文件的巨大规模如何阻止我一次只做一次拉取,我需要设计一个每天都做的脚本。下面是如果我今天运行脚本的样子:R 编写包含一系列日期的循环,r,rstudio,R,Rstudio,我有一个R脚本,可以每天自动运行。问题是,最终输出中出现了一个小错误,导致我需要再次运行过去的两个月。看到文件的巨大规模如何阻止我一次只做一次拉取,我需要设计一个每天都做的脚本。下面是如果我今天运行脚本的样子: user_query = paste("SELECT i.value_1, c.value_2 FROM logs.imp i LEFT JOIN logs.click
user_query = paste("SELECT
i.value_1,
c.value_2
FROM logs.imp i
LEFT JOIN
logs.click c
ON i.id = c.id
WHERE i.event_date = DATE('2018-08-23')
AND i.advertiser_id IN (", paste(id_query$user_id, collapse = ", "), ")
GROUP BY 1,2
;", sep = '')
results_query <- dbGetQuery(con, user_query)
currentDate <- Sys.Date()
txtUserQuery <- paste("/home/jsmith/user_query_", currentDate,".txt",sep="")
write.table(user_query, file = txtUserQuery, sep = "|")
outputDir <- "/Users/jsmith"
outputFileName <- paste("user_query_", currentDate,".txt",sep="")
outputFile <- paste(outputDir, outputFileName, sep = "/")
handle <- getCurlHandle()
ftpUpload(what = outputFile, to = paste("ftp://ftp@ftp.xxx.com/Up/user_query_", currentDate,".csv",sep=""), userpwd = "xxxx:xxxxx", curl = handle)
user\u query=paste(“选择
i、 价值1,
c、 价值2
来自logs.imp i
左连接
日志。单击c
在i.id=c.id上
其中i.event_date=日期('2018-08-23')
和i.advertiser_id IN(“,粘贴(id_query$user_id,collapse=“,”)
按1,2分组
;,sep=“”)
结果\u查询是currentDate
应该与查询事件\u date
相同吗<代码>序号日期(截止日期('2018-08-23')、截止日期('2018-07-01')、by=-1)
将为您提供您提到的两个日期之间每天的向量。你们可以循环那个向量,但我不完全清楚你们问的是不是这个问题。抱歉说不清楚。答案是肯定的,尽管它不需要,
或括号。因此,如果你有i.event\u date=date('2018-08-23')
,那么CurrentDate
变量应该是2018-08-23
,允许txtUserQuery
看起来像“/users/jsmith/user\u query\u 2018-08-23.txt”
等等2018-07-01
它应该是“/users/jsmith/user\u query\u 2018-07-01.txt”
等等。您的代码是不可复制的,所以我无法运行测试,但看起来您需要将所有硬编码的日期转换为一个变量,然后循环使用我提到的向量来更改每次迭代中的日期。@astrofunkswag-什么意思?这是怎么回事?对于(日期中的d){currentDate