Извлечение данных переписи с использованием пакета ACS R для всех почтовых индексов и получение прогнозов на будущее
У меня есть пара вопросов о том, как мне лучше всего использовать пакет acs R. Заранее спасибо за помощь.
Я хотел бы создать всеобъемлющий фрейм данных, который представляет собой справочную таблицу со всеми данными переписи, которые я могу получить из их API для каждого почтового индекса. В настоящее время я просто смотрю несколько отдельных таблиц с использованием кода R, как показано в примере ниже. Есть ли лучший способ найти все доступные таблицы и автоматически создать набор данных таблицы данных с заполненными именами столбцов? Мне известна функция acs.lookup, но я хотел бы загрузить все таблицы и получить данные для их почтовых индексов. Есть ли способ получить список всех таблиц из вывода acs.lookup или, может быть, полный список доступных таблиц?
Я также хотел бы получить данные будущих проекций для максимально возможного количества переменных. Я думаю, что могу рассчитать прогнозы, которые я нашел, используя вышеупомянутые методы, используя несколько лет (2014, 2013, 2012, 2011) и используя пакет acs14lite R на 2014 год. Прежде чем я сделаю это, мне интересно, есть ли в самой переписи США будущие прогнозы, используя это данные ACS или что-то еще?
Создайте пользовательскую географию
использовать все почтовые индексы
zip_geo = geo.make(zip.code = "*")
Создать фрейм данных гонки
получить данные о гонке
race.data = acs.fetch(geography=zip_geo, table.number = "B03002", col.names = "pretty", endyear = 2013, span = 5)
создать фрейм данных демографии
zip_demographics = data.frame(region = as.character(география (race.data)$zipcodetabulationarea), total_population = as.numeric(оценка (race.data [, 1])))
zip_demographics $ region = as.character (zip_demographics $ region)
преобразовать в data.frame
race_df = data.frame (white_alone_not_hispanic = as.numeric (оценка (race.data[,3])), black_alone_not_hispanic = as.numeric(оценка (race.data[,4])), asian_alone_not_hispanic = as.numeric(оценка (race.data[,6])), hispanic_all_races = as.numeric(оценка (race.data [, 12])))
zip_demographics $ percent_white = (race_df $ white_alone_not_hispanic / zip_demographics $ total_population * 100) zip_demographics $ percent_black = (race_df $ black_alone_not_hispanic / zip_demographics $ total_population * 100) zip_demographics $ percent_asian = (race_df $ asian_alone_not_hispanic / zip_demographics $ total_population * 100) zip_demographics $ percent_hispanic = (race_df $ hispanic_all_races / zip_demographics $ total_population * 100)
2 ответа
Вы можете скачать копию всех кодов в оболочках таблицы 2010 по следующей ссылке. Он начнет загрузку и файл Excel, когда вы нажмете на него.
я загрузил этот документ как фрейм данных, отформатировал столбец с соответствующими кодами, а затем просто использовал пример адресов ячеек: povertyNumerator<acsTable[781,2]
тянуть в переменную.
Вы не можете полностью автоматизировать процесс, потому что вам нужно решить, как разбить "категории" ответов и сделать свою собственную математику, но помимо этого вы можете довольно быстро работать с этой таблицей и некоторыми навыками пакета ACS.
Когда я пытаюсь запустить приведенный выше код, я получаю следующие сообщения об ошибках:
> race.data = acs.fetch(geography=zip_geo, table.number = "B03002", col.names = "pretty", endyear = 2013, span = 5)
trying URL 'http://web.mit.edu/eglenn/www/acs/acs-variables/acs_5yr_2013_var.xml.gz'
Content type 'application/xml' length 720299 bytes (703 KB)
downloaded 703 KB
Error in .subset2(x, i, exact = exact) : subscript out of bounds
In addition: Warning message:
In (function (endyear, span = 5, dataset = "acs", keyword, table.name, :
temporarily downloading and using archived XML variable lookup files;
since this is *much* slower, recommend running
acs.tables.install()
И вывод race.data не производится. Есть идеи, почему это происходит?