ggplot2 - потужний інструмент для створення якісних графіків у Але спочатку слід завантажити бібліотеку ggplot2 (якщо у Вас її ще немає), і тоді підключити Тепер завантажимо самі дані: Подивимось що в нас за стовпчики (функція У стовпчику Поглянемо на розподіл опитуваних за рівнем та місцем проживання: А тепер візуалізуємо цю табличку за допомогою стовпчикової діаграми. Особливий прийом для поділу графіків за певним фактором (щоб получився взаємний розподіл кількох величин) - команда Таким графіком ми розкриваємо інформацію хто ж були респондентами. По аналогії із поділом за місцем проживання, віконця графіка можна розбивати одною змінною по горизонталі, а другою - по вертикалі. Так, створимо графік розподілу за віком в залежності від статі та місця проживання. Але нас не цікавлять інтерни - вони всі приблизно одного віку, а їх місце проживання наразі непостійне. Молоді лікарі-спеціалісти були переважно зі Львова. Розподіл за віком жінок та чоловіків не має особливих відмінностей. А загалом, більша частина респондентів представлена лікарями віком від 45 до 60 років.R
. Ця бібліотека надає велику кількість можливостей для візуалізації даних, а сама концепція створення графіків - логічна і вишукана. У даному прикладі ми будемо зображати результати паспортної частини при анкетуванні лікарів (переважно Львівської області). Анкетування стосувалось різних аспектів впровадження клініко-фармацевтичної служби у стаціонарних закладах охорони здоров’я України (Настюха Ю.С.). Зараз будемо дивитись на розподіл опитаних лікарів за їх кваліфікаційним рівнем та місцем проживання, а також за статтю і віком у залежності від місця проживання.install.packages("ggplot2")
library(ggplot2)
anketa = read.csv("http://stat.org.ua/data/doctors-survey.csv")
str()
показує структуру об’єкта):str(anketa)
## 'data.frame': 500 obs. of 5 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ age : int 52 36 29 34 72 58 55 40 47 52 ...
## $ levels: Factor w/ 2 levels "Інтерн","Лікар-спеціаліст": 2 2 2 2 2 2 2 2 2 2 ...
## $ gender: Factor w/ 2 levels "жінки","чоловіки": 1 2 1 1 2 2 2 1 2 1 ...
## $ place : Factor w/ 4 levels "Інші нас. пункти",..: 3 2 2 3 3 2 2 3 3 4 ...
X
- порядкові номери респондентів, у age
- вік, у levels
- кваліфікація, у gender
- стать і у place
- місце проживання.table(anketa$levels, anketa$place)
##
## Інші нас. пункти Львівська область м. Львів Не вказано
## Інтерн 46 21 134 101
## Лікар-спеціаліст 3 51 133 11
facet_grid()
:ggplot(anketa,aes(levels,fill=levels))+ #будем зображувати кваліфікацію, причому різними кольорами
geom_bar()+ #хочемо з даних стовпчикову діаграму
facet_grid(. ~ place)+ #робим окремі малюночки для кожного місця проживання
scale_fill_brewer(palette="Set1")+ #міняєм кольори, буде червоний і синій
xlab("Посада")+ylab("Кількість опитаних")+ #написи на осях
theme(legend.position="none") #легенду не виводити
ggplot(anketa[anketa$levels!="Інтерн",], #інтернів не берем
aes(age))+ #зображувати будем розподіл віку
geom_histogram(binwidth = 5,aes(fill=gender))+ #виводимо гістограму, інтервали по 5 років, різні кольори для статі
facet_grid(gender ~ place)+ #по вертикалі ділим за статтю, по горизонталі - за місцем проживання
scale_fill_brewer(palette="Set1")+#міняєм кольори, буде червоний і синій
xlab("Вік")+ylab("Кількість опитаних")+ #написи на осях
theme(legend.position="none") #легенду не виводити