Я пытаюсь создать карту в R с помощью пакета Statebins здесь: https://github.com/hrbrmstr/statebins
И я получаю следующую ошибку: «Ошибка: state_data [, state_col] %in% state_coords [, merge.x] не все TRUE»
Я думал, что мог пропустить некоторые состояния, но я проверил данные, и все выглядит нормально. Мой процесс ниже. Спасибо!
mydata = read.csv("data.csv") # read from first sheet
mydata2 <- subset(mydata, year == 2008)
mydata2$state <- as.character(mydata2$state)
statebins(mydata2, "state", "value")
Мой набор данных ниже:
> head(mydata2, n=51)
year value state
1 2008 55.50628 Alabama
7 2008 67.52304 Alaska
13 2008 70.94418 Arizona
19 2008 57.89743 Arkansas
25 2008 71.40450 California
31 2008 75.29866 Colorado
37 2008 73.13052 Connecticut
43 2008 74.69418 Delaware
49 2008 74.43594 District of Columbia
55 2008 68.75503 Florida
61 2008 66.43982 Georgia
67 2008 85.68623 Hawaii
73 2008 58.73205 Idaho
79 2008 70.58312 Illinois
85 2008 67.59861 Indiana
91 2008 80.71313 Iowa
97 2008 69.58322 Kansas
103 2008 63.25878 Kentucky
109 2008 59.70804 Louisiana
115 2008 83.74306 Maine
121 2008 72.72313 Maryland
127 2008 84.44669 Massachusetts
133 2008 77.63979 Michigan
139 2008 82.58318 Minnesota
145 2008 61.47873 Mississippi
151 2008 67.35522 Missouri
157 2008 64.08789 Montana
163 2008 63.00454 Nebraska
169 2008 77.41964 Nevada
175 2008 80.62524 New Hampshire
181 2008 65.33956 New Jersey
187 2008 68.71076 New Mexico
193 2008 66.61414 New York
199 2008 66.60782 Northcarolina
205 2008 76.75455 North Dakota
211 2008 68.01427 Ohio
217 2008 61.80503 Oklahoma
223 2008 77.22575 Oregon
229 2008 73.86333 Pennsylvania
235 2008 72.08964 Rhode Island
241 2008 67.56644 South Carolina
247 2008 74.99466 South Dakota
253 2008 64.67229 Tennessee
259 2008 65.36695 Texas
265 2008 72.84640 Utah
271 2008 79.56832 Vermont
277 2008 64.71876 Virginia
283 2008 77.76023 Washington
289 2008 58.24326 West Virgnia
295 2008 78.07619 Wisconsin
301 2008 67.60178 Wyoming
2 ответа
Попробуйте что-то вроде этого, и, возможно, это поможет:
library(statebins)
states$state <- as.character(states$state) # you already did this step
statebins(state_data = states, state_col = "state", value_col = "count")
У меня было точно такое же сообщение об ошибке, как и у вас. Решение, по крайней мере для меня, состояло в том, чтобы преобразовать тип tbl_df (сгенерированный пакетом dplyr) в обычный тип data.frame.
library(statebins)
t <- read.table(text= "year value state
2008 55.50628 Alabama
2008 67.52304 Alaska
2008 70.94418 Arizona
2008 57.89743 Arkansas
2008 71.40450 California
2008 75.29866 Colorado
2008 73.13052 Connecticut
2008 74.69418 Delaware",
header=TRUE, stringsAsFactors=FALSE)
class(t) # data.frame
statebins(t, state_col = "state", value_col = "value")
# results in a statebins map
# now repeat with tbl_df
library(dplyr)
t <- tbl_df(t) # convert to a tbl_df type
class(t) # "tbl_df" "tbl" "data.frame"
statebins(t, state_col = "state", value_col = "value")
# yields this error message:
# Error: state_data[, state_col] %in% state_coords[, merge.x] is not TRUE
30 января 2015 г.: специалист по поддержке пакета statebins подтвердил, что это ошибка. Теперь это исправлено на GitHub.
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат полностью. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.