Сетка с картограммами в ggplot2

Используя великолепный ggplot2 Хэдли и его книгу (стр. 78-79), я могу с легкостью создавать графики одиночных картограмм, используя такой код:

states.df <- map_data("state")
states.df = subset(states.df,group!=8) # get rid of DC
states.df$st <- state.abb[match(states.df$region,tolower(state.name))] # attach state abbreviations

states.df$value = value[states.df$st]

p = qplot(long, lat, data = states.df, group = group, fill = value, geom = "polygon", xlab="", ylab="", main=main) + opts(axis.text.y=theme_blank(), axis.text.x=theme_blank(), axis.ticks = theme_blank()) + scale_fill_continuous (name)
p2 = p + geom_path(data=states.df, color = "white", alpha = 0.4, fill = NA) + coord_map(project="polyconic")

Где «значение» - это вектор данных уровня состояния, которые я рисую. Но что, если я хочу построить несколько карт, сгруппированных по какой-то переменной (или двум)?

Вот пример графика , выполненного Эндрю Гельман, позже адаптированный в New York Times , о мнении здравоохранения в штатах:

enter image description here

Я бы хотел иметь возможность подражать этому примеру: показывать графики картограмм с координатной сеткой в ​​соответствии с двумя переменными (или даже одной) . Итак, я передаю не вектор значений, а скорее фрейм данных, организованный «долго», с несколькими записями для каждого состояния.

Я знаю, что ggplot2 может это сделать, но я не уверен, как это сделать. Спасибо!

6
задан bshor 8 February 2012 в 01:20
поделиться