choroplethrZip - поток данных

Я нахожусь в процессе создания карты плотности, которая будет отображать плотность населения (точнее, в Вирджинии) на основе почтовых индексов. Я следовал инструкциям, приведенным в теме: Создание хороплета почтового индекса в R с использованием ggplot2 и ggmap (по сути, я скопировал код)

Однако всякий раз, когда я пытался передать свои собственные данные, появляется сообщение об ошибке: Ошибка в left_join_impl(x, y, by$x, by$y, suffix$x, suffix$y): не удается присоединиться к «региону» x ' область' из-за несовместимых типов (целое/символьное) Кроме того: Предупреждающее сообщение: In min(xx[xx > upper]): нет непропущенных аргументов для min; возвращающая информация

Набор данных, который я хочу использовать, имеет тот же формат, что и «df_pop_zip». Однако, похоже, есть проблема с использованием моих собственных данных. Чтобы быть более точным, «df_pop_zip» имеет две переменные: «регион» (почтовый индекс) и «значение» (частота почтового индекса). Я создал лист Excel с двумя столбцами «регион» и «значение» со случайными почтовыми индексами и частотами.

Может ли кто-нибудь дать представление об этой проблеме?

Заранее спасибо, Мартин


person Chaconne1004    schedule 17.04.2017    source источник


Ответы (1)


Похоже, вы пытаетесь присоединиться, сравнивая символ с числом. Просматривает str() данных, которые вы читаете из Excel, чтобы убедиться, что вы соединяете подобное с подобным.

person Adrian Martin    schedule 17.04.2017
comment
Спасибо за ответ, Адриан. - person Chaconne1004; 17.04.2017
comment
Однако я не слишком уверен в том, что вы имеете в виду, сравнивая их. Образец данных, который использует автор — «df_pop_zip», похоже, имеет тот же формат, что и мои данные Excel, когда я просматривал оба из Rstudio. - person Chaconne1004; 17.04.2017
comment
Допустим, вы выполняете соединение между data.frames a и b, совпадающими по переменной x. Если вы запустите class(a$x) и class(b$x), результат должен быть одинаковым. Или, если вы запустите str(a) и str(b), результаты этих команд должны показать, что переменная x является одним и тем же классом в каждом кадре данных. - person Adrian Martin; 17.04.2017
comment
Есть ли у вас какие-либо предложения, как мне поступить с этой проблемой? Я не знаю, как я должен смотреть, находится ли лист Excel в строковом режиме или нет. Любое предложение приветствуется! - person Chaconne1004; 19.04.2017
comment
Можете ли вы вставить результаты str(x) и str(y)? - person Adrian Martin; 20.04.2017
comment
Данные, которые использует пакет ChoroplethrZIP: 'data.frame': 32989 obs. из 2 переменных: $ region: chr 01001 01002 01003 01005 ... $ value : num 17380 28718 11286 5120 14593 ... - person Chaconne1004; 20.04.2017
comment
Я использую данные «data.frame»: 3 obs. из 2 переменных: $ region: int 23223 24646 24649 $ value: int 10 15 400 - person Chaconne1004; 20.04.2017
comment
[основной] data.frame': 32989 обс. из 2 переменных: $ region: chr 01001 01002 01003 01005 ... $ value : num 17380 28718 11286 5120 14593 ... является результатом выполнения строки для данных, поставляемых с пакетом. - person Chaconne1004; 20.04.2017
comment
Эй, извините, я не видел этого до сих пор. Итак, вы пытаетесь соединить целое число с символом. $ region: int 23223 и т. д. и т. д. не будет корректно соединяться с $ region: chr 01001 и т. д. и т. д. Прежде чем вы сможете сравнить два столбца и найти совпадения, вам необходимо либо преобразовать целочисленный столбец в символьный столбец, либо наоборот ( это то, что нужно сделать для соединения). - person Adrian Martin; 25.04.2017