Я нуб в R, и даже нуб в хороплетах и картографировании.
Я видел эта тема и другие, на которые ссылается тема, но просто не могут обойти эту проблему. Я пытаюсь отобразить некоторые данные переписи населения США на картограмме, и я даже не знаю, в чем проблема, несмотря на то, что пробовал различные комбинации.
Вот краткий код: при необходимости могу предоставить более подробный код.
code <- c(1:2, 4:6, 8:13, 15:42, 44:51, 53:56, 72)
statename <- c("Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming", "Puerto Rico")
statelist <- data.frame(code, statename)
populDataNew <- merge(x = populData, y = statelist, by.x = "State", by.y = "code")
incomestate <- ddply(populData, c("Income", "statename"), summarise, incomebystate = sum(Income))
edu <- select(populDataNew, c(statename, EduAttainment), na.rm=TRUE)
edusum <- ddply(edu, c("statename"), summarise, edubystate = mean(EduAttainment))
states_map <-map_data("state")
states_map <- fortify(states_map, region = "statename")
m <- ggplot(edusum, aes(map_id = statename)) + geom_map(aes(fill = edubystate), map = states_map) + expand_limits(x = states_map$long, y = states_map$lat)
m
Примечание. Я использую fortify, хотя и не понимаю, почему :(
Ошибка, которую я получаю:
Error in unit(x, default.units) : 'x' and 'units' must have length > 0
edsum
- person hrbrmstr   schedule 13.11.2015edusum
иedu
- person Deepa   schedule 13.11.2015