4

我在gTrendsR搜索时收到两个错误。我尝试将包与来自https://github.com/PMassicotte/gtrendsR的 CRAN 下载和开发版本一起使用。

library(gtrendsR)
gconnect(usr, psw, verbose=TRUE)
#Google login successful!
sport_trend <- gtrends(c("nhl", "nba", "nfl"))
#Error in names(trend) <- make.names(paste(kw, geo)) : 
#  'names' attribute [3] must be the same length as the vector [0]

gtrends("Kim Kardashian")
#Error: Not enough search volume. Please change your search terms.

我尝试了许多搜索词无济于事。有问题的功能似乎是.processResults

  kw <- trimws(unlist(strsplit(queryparams[1], ","), use.names = FALSE))
  geo <- trimws(unlist(strsplit(queryparams[3], ","), use.names = FALSE))
  names(trend) <- make.names(paste(kw, geo))

这些表达式似乎不依赖于搜索结果,而是依赖于查询本身。第二个错误源于:

if (length(vec) < 2) {
    stop("Not enough search volume. Please change your search terms.",
         call. = FALSE)
  }

该变量vec获取它的值getForm,我无法找到它的文档。我试图指定查询项,但这也不起作用。重新启动 R 会话也没有解决问题。

会话信息:

sessionInfo()
# R version 3.2.3 (2015-12-10)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows 7 x64 (build 7601) Service Pack 1
# 
# locale:
#   [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
# [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
# [5] LC_TIME=English_United States.1252    
# 
# attached base packages:
#   [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
#   [1] gtrendsR_1.3.3
# 
# loaded via a namespace (and not attached):
#   [1] zoo_1.7-12       colorspace_1.2-6 scales_0.4.0     googleVis_0.5.10 plyr_1.8.3      
# [6] tools_3.2.3      gtable_0.2.0     RCurl_1.95-4.8   Rcpp_0.12.3      ggplot2_2.1.0   
# [11] RJSONIO_1.3-0    grid_3.2.3       munsell_0.4.3    bitops_1.0-6     lattice_0.20-33
4

2 回答 2

4

由于 Google API 的更改,包作者必须进行完全重写。在此处获取未发布的 gtrendsR 2.0.0 代码:

devtools::install_github('PMassicotte/gtrendsR')

library(gtrendsR)
# do not need to log in anymore
# syntax change!
gt.us <- gtrends("USA", geo="US", time = "2004-01-01 2004-01-30")
于 2017-09-26T16:10:07.430 回答
1

我遇到了同样的问题。出于某种原因,像下面这样更改我的代码有帮助。希望你能找出原因。我是菜鸟。

> styles <- gtrends(query=c("Pixie Pant", "Yoga Pants", "Jeans"))
# Error in names(trend) <- make.names(paste(kw, geo)) : 
# 'names' attribute [3] must be the same length as the vector [2]
> commodities2 <- gtrends(c("Oil prices", "mortgage rates"), res="7d", geo= "US")
> styles <- gtrends(c("Pixie Pant", "Yoga Pants", "Jeans"))
# Error in names(trend) <- make.names(paste(kw, geo)) : 
#  'names' attribute [3] must be the same length as the vector [2]
> styles <- gtrends(c("Pixie Pant", "Yoga Pants", "Jeans"), res="7d", geo= "US")
> plot(styles)
于 2016-03-09T19:33:32.497 回答