Для ошибки пропуска цикла

Я хотел бы получить данные тренда 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)})
}
Другие вопросы по тегам