Вот первые четыре столбца кадра данных длиной 20 КБ.
# A tibble: 4 x 4
Address Address_Total lon lat
<chr> <dbl> <dbl> <dbl>
1 !500 s. dobson rd., mesa, AZ, 852… 14.1 -112. 33.4
2 # l10, jackson, MS, 39202, United… 16.1 NA NA
3 0 fletcher allen health care, bur… 300 -73.2 44.5
4 00 w main st # 110, babylon, NY, … 287. NA NA
Я хочу преобразовать геокоды в кадре данных (значения lon и lat) в коды округов (FIPS). Я нашел отличный скрипт, который делает это, используя F CC API. Все, что вам нужно, это ввести два значения lat / long:
geo2fips <- function(latitude, longitude) {
url <- "https://geo.fcc.gov/api/census/block/find?format=json&latitude=%f&longitude=%f"
url <- sprintf(url, latitude, longitude)
json <- RCurl::getURL(url)
json <- RJSONIO::fromJSON(json)
as.character(json$County['FIPS'])
}
Например, если я вставлю комбо lat / long, то получится следующее, что идеально:
> # Orange County
> geo2fips(28.35975, -81.421988)
[1] "12095"
Я хочу использовать члена семейства apply для запуска geo2fips по всему набору данных сверху вниз. Я хотел бы, чтобы выходные данные представляли собой пятую колонку моего фрейма данных под названием «FIPS» или что-то в этом роде, которая просто содержит коды FIPS.
Кто-нибудь может помочь? Занимался этим часами, и я не могу заставить его работать. Я уверен, что есть только некоторый синтаксис с использованием семейства apply, и я почти уверен, что это моя ошибка, потому что я не корректно корректирую столбцы dataframe.