Я пытаюсь создать карту в 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
0
wsankey 19 Ноя 2014 в 08:00
Statebins 1.2.1 исправляет эту проблему. Спасибо, что поймал его.
 – 
hrbrmstr
30 Янв 2015 в 13:47
Рада, что смогла быть полезной!
 – 
wsankey
3 Фев 2015 в 06:35

2 ответа

Попробуйте что-то вроде этого, и, возможно, это поможет:

library(statebins)
states$state <- as.character(states$state) # you already did this step
statebins(state_data = states, state_col = "state", value_col = "count")
0
lawyeR 19 Ноя 2014 в 14:24
Спасибо за комментарий, к сожалению не получилось. Однако работа DID заключалась в использовании сокращений штатов вместо названий. Я не уверен, почему... но это работает!
 – 
wsankey
19 Ноя 2014 в 21:18

У меня было точно такое же сообщение об ошибке, как и у вас. Решение, по крайней мере для меня, состояло в том, чтобы преобразовать тип 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.

0
hackR 3 Фев 2015 в 10:42