假设您查询以下内容:
$interval(function () {
let startDate = new Date();
$scope.test = Math.ceil(Math.abs(((startDate.getTime()) - (endDate.getTime())))/oneMinute)+" Minutes "+Math.ceil(Math.abs(((startDate.getTime()) - (endDate.getTime())))/oneSecond)+" s";
console.log($scope.test);
},1000);
这将返回美国各城市中“google”一词的搜索次数。但是,它不提供有关每个城市所属州的任何信息。
我尝试将此数据集与其他几个数据集合并,包括城市和州名称。鉴于许多州都存在相同的城市名称,我不清楚如何识别哪个城市是Google趋势提供的数据。
我在下面提供了更详细的MWE。
gtrends("google", geo="US")$interest_by_city
这会产生以下问题:
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")
让人很难知道哪些“亚历山大”谷歌趋势提供了数据。
如何识别每个城市的状态的任何提示都将非常感激。
答案 0 :(得分:1)
解决此问题的一种方法是收集每个州的城市,然后只收集rbind
相应的数据框。你可以先制作一个像这样的州代码矢量
states <- paste0("US-",state.abb)
然后我只使用purrr
作为其地图并减少了创建单个框架的功能
data <- purrr::reduce(purrr::map(states, function(x){
cities = gtrends("google", geo = x)$interest_by_city
}),
rbind)