Как исправить: Эстетика должна быть длиной 1 или такой же, как данные (2977): заполнить - PullRequest
0 голосов
/ 02 июля 2019

Я использовал алгоритм EM для кластеризации округов Калифорнии на основе некоторых экономических переменных.Теперь я хочу создать карту Калифорнии с графствами, в которой графства в одном кластере имеют одинаковый цвет.Всего есть 2 кластера, характеризуемые 1 или 2 в столбце datafit $ классификация.К сожалению, при сопоставлении округов по их соответствующим кластерам возникает ошибка, которую я не могу устранить, а именно: Ошибка: эстетика должна быть либо длины 1, либо соответствовать данным (2977): заполните

У меня естьЯ видел, что подобные вопросы уже задавались, но я не смог найти подходящее мне решение.Я не пощадил свои данные или что-то написал с ошибкой.

#this generates a map of the US

states <- map_data("state")
ca_df <- subset(states, region == "california")
counties <- map_data("county")
ca_county <- subset(counties, region == "california")

ca_base <- ggplot(data = ca_df, mapping = aes(x = long, y = lat, group = group)) + 
  coord_fixed(1.3) + 
  geom_polygon(color = "black", fill = "gray")
ca_base + theme_nothing() + 
  geom_polygon(data = ca_county, fill = NA, color = "white") +
  geom_polygon(color = "black", fill = NA)


#merge map data with my clustered data(called newdata)
cacopa <- inner_join(ca_county, newdata, by = "subregion")

ditch_the_axes <- theme(
  axis.text = element_blank(),
  axis.line = element_blank(),
  axis.ticks = element_blank(),
  panel.border = element_blank(),
  panel.grid = element_blank(),
  axis.title = element_blank()
)

final_map <- ca_base + 
  geom_polygon(data = cacopa, aes(fill = datafit$classification), color = "white") +
  geom_polygon(color = "black", fill = NA) +
  theme_bw() +
  ditch_the_axes
final_map

Я хочу, чтобы цвет округов зависел от значения классификации datafit $, однако это пока не работает.Любые предложения о том, как заставить это работать?

...