gtrendsR geo MSA/Area 代码
gtrendsR geo MSA/Area Code
我正在使用 R 包 gtrendsR 收集 Google 趋势数据。我正在尝试为每个大都市统计区 (MAS) 提取数据,但区号也不错。到目前为止,我只设法获得了州级数据。这是相关代码。
example <- gtrends("car", geo="US-FL")$interest_over_time
我已经为 MSA 尝试了以下方法:
example2 <- gtrends("car", geo="US-FL-Jacksonville FL")$interest_over_time
区号:
example3 <- gtrends("car", geo="US-FL-904")$interest_over_time
我收到错误消息说包裹无法检索有效代码。在与包关联的数据("countries")中,代码仅适用于州级 - 例如US-FL 代表佛罗里达。
我很想知道如何使用这个包检索更精细的数据,按照上面的示例 2 和示例 3 中描述的内容。
要检索 "Jacksonville, FL" 的数据,您应该使用 geo = "US-FL-561"
:
example2 <- gtrends("car", geo = "US-FL-561")$interest_over_time
要查找城市的地理代码,您可以使用此代码(您可以将 "US-FL"
替换为您想要的任何国家代码):
data("countries")
codes <- unique(countries$sub_code[substr(countries$sub_code, 1,5) == "US-FL"])
codes
#[1] US-FL US-FL-571 US-FL-592 US-FL-561 US-FL-528 US-FL-534 US-FL-656 US-FL-539 US-FL-548 US-FL-530
countries[countries$sub_code %in% codes[2:length(codes)],]
# country_code sub_code name
#122665 US US-FL-571 Ft. Myers-Naples, FL
#122666 US US-FL-592 Gainesville, FL
#122667 US US-FL-561 Jacksonville, FL
#122668 US US-FL-528 Miami-Ft. Lauderdale, FL
#122670 US US-FL-534 Orlando-Daytona Beach-Melbourne, FL
#122671 US US-FL-656 Panama City, FL
#122672 US US-FL-539 Tampa-St Petersburg (Sarasota), FL
#122673 US US-FL-548 West Palm Beach-Ft. Pierce, FL
#122680 US US-FL-530 Tallahassee, FL-Thomasville, GA
函数
如果更简单,你也可以把代码写成一个函数:
city_code <- function(geo){
codes <- unique(countries$sub_code[substr(countries$sub_code, 1,5) == geo])
if(length(codes) > 1){
countries[countries$sub_code %in% codes[2:length(codes)], 2:3]
} else{
message('No city code for this geo')
}
}
例子
city_code("US-AL")
# sub_code name
#122636 US-AL-630 Birmingham, AL
#122637 US-AL-606 Dothan, AL
#122638 US-AL-691 Huntsville-Decatur (Florence), AL
#122639 US-AL-698 Montgomery (Selma), AL
#122669 US-AL-686 Mobile, AL-Pensacola (Ft. Walton Beach), FL
city_code("US-CA")
# sub_code name
#122649 US-CA-800 Bakersfield, CA
#122650 US-CA-868 Chico-Redding, CA
#122651 US-CA-802 Eureka, CA
#122652 US-CA-866 Fresno-Visalia, CA
#122653 US-CA-803 Los Angeles, CA
#122654 US-CA-828 Monterey-Salinas, CA
#122655 US-CA-804 Palm Springs, CA
#122656 US-CA-862 Sacramento-Stockton-Modesto, CA
#122657 US-CA-825 San Diego, CA
#122658 US-CA-807 San Francisco-Oakland-San Jose, CA
#122659 US-CA-855 Santa Barbara-Santa Maria-San Luis Obispo, CA
我正在使用 R 包 gtrendsR 收集 Google 趋势数据。我正在尝试为每个大都市统计区 (MAS) 提取数据,但区号也不错。到目前为止,我只设法获得了州级数据。这是相关代码。
example <- gtrends("car", geo="US-FL")$interest_over_time
我已经为 MSA 尝试了以下方法:
example2 <- gtrends("car", geo="US-FL-Jacksonville FL")$interest_over_time
区号:
example3 <- gtrends("car", geo="US-FL-904")$interest_over_time
我收到错误消息说包裹无法检索有效代码。在与包关联的数据("countries")中,代码仅适用于州级 - 例如US-FL 代表佛罗里达。
我很想知道如何使用这个包检索更精细的数据,按照上面的示例 2 和示例 3 中描述的内容。
要检索 "Jacksonville, FL" 的数据,您应该使用 geo = "US-FL-561"
:
example2 <- gtrends("car", geo = "US-FL-561")$interest_over_time
要查找城市的地理代码,您可以使用此代码(您可以将 "US-FL"
替换为您想要的任何国家代码):
data("countries")
codes <- unique(countries$sub_code[substr(countries$sub_code, 1,5) == "US-FL"])
codes
#[1] US-FL US-FL-571 US-FL-592 US-FL-561 US-FL-528 US-FL-534 US-FL-656 US-FL-539 US-FL-548 US-FL-530
countries[countries$sub_code %in% codes[2:length(codes)],]
# country_code sub_code name
#122665 US US-FL-571 Ft. Myers-Naples, FL
#122666 US US-FL-592 Gainesville, FL
#122667 US US-FL-561 Jacksonville, FL
#122668 US US-FL-528 Miami-Ft. Lauderdale, FL
#122670 US US-FL-534 Orlando-Daytona Beach-Melbourne, FL
#122671 US US-FL-656 Panama City, FL
#122672 US US-FL-539 Tampa-St Petersburg (Sarasota), FL
#122673 US US-FL-548 West Palm Beach-Ft. Pierce, FL
#122680 US US-FL-530 Tallahassee, FL-Thomasville, GA
函数
如果更简单,你也可以把代码写成一个函数:
city_code <- function(geo){
codes <- unique(countries$sub_code[substr(countries$sub_code, 1,5) == geo])
if(length(codes) > 1){
countries[countries$sub_code %in% codes[2:length(codes)], 2:3]
} else{
message('No city code for this geo')
}
}
例子
city_code("US-AL")
# sub_code name
#122636 US-AL-630 Birmingham, AL
#122637 US-AL-606 Dothan, AL
#122638 US-AL-691 Huntsville-Decatur (Florence), AL
#122639 US-AL-698 Montgomery (Selma), AL
#122669 US-AL-686 Mobile, AL-Pensacola (Ft. Walton Beach), FL
city_code("US-CA")
# sub_code name
#122649 US-CA-800 Bakersfield, CA
#122650 US-CA-868 Chico-Redding, CA
#122651 US-CA-802 Eureka, CA
#122652 US-CA-866 Fresno-Visalia, CA
#122653 US-CA-803 Los Angeles, CA
#122654 US-CA-828 Monterey-Salinas, CA
#122655 US-CA-804 Palm Springs, CA
#122656 US-CA-862 Sacramento-Stockton-Modesto, CA
#122657 US-CA-825 San Diego, CA
#122658 US-CA-807 San Francisco-Oakland-San Jose, CA
#122659 US-CA-855 Santa Barbara-Santa Maria-San Luis Obispo, CA