Sys.sleep()
должно работать, и без кода ошибки трудно сказать точно, почему это происходит с ошибкой.Однако я предложу альтернативный метод.
Пакет later
представляет собой простой и удобный пакет утилит для выполнения кода, ну .. Позже.Он принимает функцию без каких-либо аргументов и запускает ее с заданной задержкой.Например, вы можете использовать:
library("gtrendsR")
library("later")
library("data.table") #for as.ITime
Sys.setlocale("LC_ALL", "English")
Keywords = c("google", "twitter")
#Set delay. Here for 5 seconds
delay <- as.ITime("00:00:05")
Interrupt <- FALSE
extractGoogle <- function(){
for (k in Keywords) {
res = NULL
temp_1 <- gtrends(k, geo = "US",time = "all")
temp_2 <- temp_1$interest_over_time
res <- rbind(res, temp_2)
rm(temp_1,temp_2)
res <- select (res, c(date, hits))
Sys.setlocale(category = "LC_ALL", locale = "cht")
names(res)[2]<- k
xfilepath = paste("C:/Users/Peter/Desktop/",k,".csv",sep="")
write.csv(res, file = xfilepath, row.names=FALSE)
}
#Execute once again later
if(isFALSE(Interrupt))
later(extractGoogle, delay = delay)
}
#Run the function until Interrupt is set to TRUE or session closes
extractGoogle()
Это позволяет вам установить задержку вручную, изменив «задержку» на количество секунд.as.ITime
simple позволяет указать количество секунд в простом формате.Затем цикл можно отложить дальше или прервать, изменив глобальные переменные.