从 Google Trends Interest 按城市获取州名
Obtain State Name from Google Trends Interest by City
假设您查询以下内容:
gtrends("google", geo="US")$interest_by_city
这个 returns 在美国各个城市搜索了 "google" 字词的次数。但是,它没有提供有关每个城市属于哪个州的任何信息。
我尝试将此数据集与其他几个数据集(包括城市和州名)合并。鉴于同一个城市名称可能出现在许多州,我不清楚如何确定 Google Trends 为其提供数据的城市。
我在下面提供了更详细的 MWE。
library(gtrendsR)
library(USAboundariesData)
data1 <- gtrends("google", geo= "US")$interest_by_city
data1$city <- data1$location
data2 <- us_cities(map_date = NULL)
data3 <- merge(data1, data2, by="city")
这会产生以下问题:
city state
Alexandria Louisiana
Alexandria Indiana
Alexandria Kentucky
Alexandria Virginia
Alexandria Minnesota
很难知道哪些 "Alexandria" Google Trends 提供了数据。
如能提供有关如何识别每个城市状态的任何提示,我们将不胜感激。
解决这个问题的一种方法是收集每个州的城市,然后只 rbind
各自的数据框。你可以先像这样制作一个状态代码向量
states <- paste0("US-",state.abb)
然后我只是使用 purrr
作为它的映射和减少功能来创建一个框架
data <- purrr::reduce(purrr::map(states, function(x){
cities = gtrends("google", geo = x)$interest_by_city
}),
rbind)
假设您查询以下内容:
gtrends("google", geo="US")$interest_by_city
这个 returns 在美国各个城市搜索了 "google" 字词的次数。但是,它没有提供有关每个城市属于哪个州的任何信息。
我尝试将此数据集与其他几个数据集(包括城市和州名)合并。鉴于同一个城市名称可能出现在许多州,我不清楚如何确定 Google Trends 为其提供数据的城市。
我在下面提供了更详细的 MWE。
library(gtrendsR)
library(USAboundariesData)
data1 <- gtrends("google", geo= "US")$interest_by_city
data1$city <- data1$location
data2 <- us_cities(map_date = NULL)
data3 <- merge(data1, data2, by="city")
这会产生以下问题:
city state
Alexandria Louisiana
Alexandria Indiana
Alexandria Kentucky
Alexandria Virginia
Alexandria Minnesota
很难知道哪些 "Alexandria" Google Trends 提供了数据。
如能提供有关如何识别每个城市状态的任何提示,我们将不胜感激。
解决这个问题的一种方法是收集每个州的城市,然后只 rbind
各自的数据框。你可以先像这样制作一个状态代码向量
states <- paste0("US-",state.abb)
然后我只是使用 purrr
作为它的映射和减少功能来创建一个框架
data <- purrr::reduce(purrr::map(states, function(x){
cities = gtrends("google", geo = x)$interest_by_city
}),
rbind)