Как да се направи картограма в ggplot2 пакет statsredy R
Какво е картограма

области гъстота на населението от региона Псков. Картограма направена в ggplot2
Общата схема на създаване картограми чрез ggplot2 пакет среда R
необходимо за изпълнението на тези стъпки, за да се изгради картограми:
- Вземете набор от географски (пространствено) данни за границите на области.
- Вземи масив със статистиката, която разпределението, които искаме да се покаже на картограма (гъстота на населението в нашия случай).
- Присвояване на пространствени и статистически данни, програмата знаете, към която част от тази статистика се отнася самолет.
- Изграждане картограма.
Ние се получат данни за административните граници на зоните за регион Псков
Какво е [Vector] пространствена информация в административните граници? Този набор от данни, която съдържа информация за координатите на точките, които представляват граничната линия на всеки регион. Най-законно без начин да получите масив - това е го взема от базата данни за OpenStreetMap. Тя съхранява данни от административните граници на нашата скъпа Отечествения (и всички други страни), федералните области и теми на Федерацията. Районът Псков също има информация за границите на районите и на границите на някои енории.
Получената масив съдържа информация за границите на общините България. Оставянето само региона Псков.
форми <- shapes[shapes$ADM4_NAME=='Псковская область', ]
Както се оказа по време на създаването на картограма в ggplot2, geom_map функция не се направи дупка в депа, поне аз не съм намерил начин да го направя. Ето защо, се оказва, че Псков и Great Лука лежат в Псков и Velikie райони. И още един нюанс, че депата са попълнени по подразбиране в реда, в който те са идентификатори. Най-вероятно има по-елегантен начин да се реши този проблем, но аз съм все още продължава да се "мръсни" чрез замяна на идентификатор на посочените формата си градове в масива:
# При износ от OSM обекти са идентификатори с "минус". # Ето защо, всеки обект, с положителен ID ще бъде изтеглен след друга. форми $ OSM_ID [оформя $ ИМЕ == "Great Лука"] <- 2 shapes$OSM_ID[shapes$NAME=="Псков"] <- 1
Функции на ggplot2 пакетите като (нужда), за да работят с данните в data.frame формат. Ето защо, ние се превърне масив от клас "SP" в масив data.frame клас:
# Sp-трансформация на обекта в редовна data.frame, подходящ за ggplot2. # Параметърът област показва в каква сфера и за групиране. # В този случай, всеки регион има уникален идентификатор OSM_ID от OpenStreetMap shapesm <- fortify(shapes, region='OSM_ID')
Ако искате да маркирате всяка област на неговото име, функцията на geom_text ggplot2 искам да посочи с нея координатите на местата, където ще трябва да поставите текстов низ с имената. Като цяло, ние ще се побере и координира регионалните центрове, т.е. медицентър.
# Get координатите на центърът на тежестта на всяка област, # да се поставят имената на областно # centroid.polygon използват функцията на карти пакет # На го наричат изрично от пакета, т.е. използвате. защото # Това е вътрешен и не е достъпна в нормално пространство от имена LP <- ddply(shapesm. (id), maps. centroid.polygon) names(lp) <- c('OSM_ID', 'lpx', 'lpy')
На следващо място, ние трябва да се справят с ограниченията на този метод: марката на Псков и лук подредени върху етикета на областите Псков и Velikie.
# Разпространение на етикета вертикално. # Координати за изместване, получена емпирично. LP $ lpy [LP $ OSM_ID == - 956303] <- 58 lp$lpy[lp$OSM_ID==1] <- 57.7 lp$lpy[lp$OSM_ID==-957758] <- 56.52 lp$lpy[lp$OSM_ID==2] <- 56.25
Така че, оригинални пространствени данни за сграда картограми готови. Остава да се получи фактическа информация за гъстотата на населението.
Ние се получат данни за райони гъстота на населението от региона Псков
области на населението на данни и техния район взех от Уикипедия и задържани в CSV файл.
# Прочетете масива с данни за площ и население области за данни <- read.table('/home/sas/1irr/data/regions_square_pop.csv', header=T, sep=';', dec='.') # Считаем плотность data$density <- data$population / data$square # объединяем данные по плотности с координатами центроидов data <- join(data, lp)
Случаят остава за малък: да се направи графика.
Изграждане на график ggplot2
Тъй като първоначалният проблем, че трябва да се направи куп графики наведнъж, аз определено функция, в която всички имат обща корекция график вид.
[...] Как да се направи с помощта на картограма ggplot2 и ggmap [...]
ГРЕШКА: конфигурация не е за пакет "rgdal"
* Премахване на "/home/serg/R/i686-pc-linux-gnu-library/3.1/rgdal"
Предупреждение в install.packages:
монтаж на пакет "rgdal" имаше не нулев изходен код
Може ли да помогне да се разбере тези грешки.
R 1.1.1 оси Ubuntu 14.04
Добър ден, Сергей!
Нещо се е променило в сайта на gis-lab.info, а сега файла не. Трябва да гледаме, сега са те. Някъде те имат проект за административните граници, там трябва да бъде писмено, където те са съхранени и сега.
> Грешка: GDAL-довереник не е намерен
В допълнение към GDAL системата трябва да бъдат инсталирани за развитие. Тя е необходима за съставяне на разширението, което зависи от програмата. Виж какво е в Ubuntu: GDAL-Dev или GDAL-раз, нещо подобно. Инсталирайте и опитайте отново. За Fedora това е достатъчно.
Аз не разбирам, и R коя версия на разходите? 1.1.1?
Добър ден, Александър!
За сметка на R версия, направих грешка, е необходимо 3.1.2.
С инсталационния пакет измисли, че е необходимо да въведете първите
ап-да инсталирате libgdal-Dev
След това просто пакета.
За сметка на зареждане на картата, който изтеглих от друга страна, в района на Пенза.
Благодарим Ви!