Получить координаты местоположения страны с помощью функции lookup_coords () из пакета rtweet - PullRequest
0 голосов
/ 29 июня 2018

Я установил rtweet, и когда я хочу собирать твиты из определенной страны, кроме США, пакет не собирает никаких данных. Я уже установил API геокодирования , Maps JavaScript API и Geolocation API с тем же ключом API от Google, что и переменная среды в R. Вот шаги, за которыми я следовал:

создать Google Maps_token

google_maps_token<-"my key XXXXXXXXXX"

путь к домашнему каталогу

home_directory <- path.expand("~/")

объединить с именем для токена

file_name <- file.path(home_directory, "google_maps_token.rds")

сохранить токен в домашний каталог

saveRDS(google_maps_token, file = file_name)

Создать переменную среды

cat(paste0("GOOGLE_MAPS_PAT=", file_name),
file = file.path(home_directory, ".Renviron"),
append = TRUE)

Визуализация переменных окружения ключа API

usethis::edit_r_environ() 

TWITTER_PAT = / Users / хххххх / .rtweet_token1.rds GOOGLE_MAPS_PAT = / Users / хххххх // google_maps_token.rds

После сохранения ключа API Google я перезагружаю RStudio, чтобы начать сбор твитов, и это происходит:

загрузить библиотеку rtweet

library(rtweet)

собирать твиты из США

tweets_USA <- search_tweets("#lang:en",
                        geocode = lookup_coords("USA",apikey = "google_maps_token"),
                n=10, include_rts = FALSE)

Поиск твитов ... Закончено собирать твиты!

10 твитов из США

собирать твиты из Мексики

tweets_Mexico <- search_tweets("#lang:es",
                           geocode = lookup_coords("mexico",apikey = "google_maps_token"),
                n=10, include_rts = FALSE)

Поиск твитов ... Закончено собирать твиты!

нет данных, собранных из Мексики

Также, когда я использую функцию lookup_coords () из пакета rtweet с «usa», она работает

получить координаты из США

usa <- lookup_coords("usa")

координаты из США

но когда я пытаюсь использовать другой адрес, следуя примерам в разделе справки, он не собирает никаких данных

получить координаты из Бразилии

bz <- lookup_coords("brazil")

нет координат из Бразилии

Но когда я напрямую пишу ключ API в функции, он работает. Из соображений безопасности я пишу вместо "XXXXXXXXXX"

mexico_coord <- lookup_coords(address = "mexico",
                          components = "country:Mexico",
                          apikey = "XXXXXXXXXXXX") 

Мексиканские координаты

Я что-то не так делаю или мне нужно установить ключ API в другой каталог? Я должен сказать, что мой рабочий каталог (где я сохраняю свои проекты и скрипты) отличается от домашнего каталога, который появляется в результате выполнения path.expand ("~ /")

1 Ответ

0 голосов
/ 30 июня 2018

Я нашел решение, чтобы функция lookup_coords () работала правильно. Мне просто нужно использовать функцию Sys.getenv () для вызова google_maps_token.rds

создать переменную с координатами из Мексики

mexico_coord <- lookup_coords(address = "mexico",
                          components = "country:Mexico",
                          apikey=Sys.getenv("google_maps_token.rds"))

После этого я могу использовать функцию search_tweet (), чтобы собрать 10 твитов из Мексики на испанском

tuits_Mex_esp_10 <- search_tweets("lang:es",
                          geocode = mexico_coord, n = 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...