Для ошибки пропуска цикла
Я хотел бы получить данные тренда Google через цикл. Однако ошибка сдерживает меня. После поиска других вопросов стека я все еще не могу заставить его работать. Цикл, о котором идет речь:
a2p = for (i in dfurlnames$names1)
{
x<- paste(i)
gtrends_function3(x)
}
В моем цикле for я получаю следующую ошибку:
Error : res$status_code == 200 is not TRUE
Я использую следующие пакеты и функции:
Получить новый gtrendsR; DevTools::install_github('PMassicotte/gtrendsR')
library(gtrendsR)
gtrends_function3 <- function(x)
{
trend1 = gtrends(c(x), geo = c(""), time = "2014-01-05 2014-10-04")
trend_df1 = ldply(trend1)
return(as.numeric(trend_df1$hits))
}
Список:
dfurlnames$names1 = Ang babaeng humayo, The Bad Batch, Une vie, La La Land,
The Light Between Oceans, El ciudadano ilustre, Spira Mirabilis, La región
salvaje, Nocturnal Animals
1 ответ
Решение
Код состояния 200 относится к протоколу HTTP, указывая, что все прошло нормально. Возможно, вы слишком быстро запрашиваете все в цикле for. Добавьте команду сна, например:
Sys.sleep (1)
в вашем цикле, чтобы замедлить ход событий. В качестве альтернативы используйте tryCatch для обхода:
a2p = for (i in dfurlnames$names1)
{
tryCatch({
x<- paste(i)
gtrends_function3(x)
}, error=function(e) {print(e)})
}