1

关于 Google 趋势包 gtrendsR 的问题。

我编写了如下代码:

    install.packages('gtrendsR')
    library(gtrendsR)

# Define the key words

    keywords = c("x", "y", "d", "e", "f")

# Set the geographic area: DE = Germany; DK = Denmark

    country = c('DE','DK')

# Set the time window

    CurrentDate <- Sys.Date()
    time=("2018-01-01 CurrentDate")

# Set channels

    channel = 'web'
    trends = gtrends(keywords, gprop = channel, geo = country, time = time)

R 给了我两个错误:(1) Error in gtrends(keywords, gprop = channel, geo = country, time = time) : (length(keyword)%%length(geo) == 0) || (length(geo)%%length(keyword) == .... is not TRUE 因为我尝试使用两个位置而出现;(2) 无法解析提供的时间格式。如果我只为国家留下“DE”。然后,它不会读取 CurrentDate 值。

我的问题是我应该如何编写代码以获取多个国家?每次运行代码时,我应该如何编码日期以获得最近的日期?

谢谢你。

4

1 回答 1

1

我在您的方法中发现了两个问题:

  1. 这个keyword论点有问题,而不是geo. 我猜不出来。也许它的长度。
  2. 时间跨度以错误的格式给出:"2018-01-01 CurrentDate" 借助gtrends

“Ymd Ymd” 两个日期之间的时间跨度(例如:“2010-01-01 2010-04-03”)。

问题#1 防止问题#2 的发生。

library(gtrendsR)

# Define the key words
# DOES NOT WORK: keywords <- c("x", "y", "d", "e", "f")
# WORKS:
keywords <- c("y", "d", "e", "z")

# Set the time window
time <- paste0("2018-01-01", Sys.Date())

# Set channels
channel <- "web"

# Set the geographic area: DE = Germany; DK = Denmark
country <- c("DE", "DK")

res <- gtrends(keywords, gprop = channel, country, time = time)

# output
head(res$interest_over_time)
        date hits keyword geo                  time gprop category
1 2018-01-07   34       y  DK 2018-01-01 2021-05-21   web        0
2 2018-01-14   36       y  DK 2018-01-01 2021-05-21   web        0
3 2018-01-21   36       y  DK 2018-01-01 2021-05-21   web        0
4 2018-01-28   34       y  DK 2018-01-01 2021-05-21   web        0
5 2018-02-04   27       y  DK 2018-01-01 2021-05-21   web        0
6 2018-02-11   33       y  DK 2018-01-01 2021-05-21   web        0
于 2021-05-21T03:53:05.870 回答