Friday, 13 November 2015

Гистограммы

Размещение нескольких диаграмм на одном поле (на примере визуализации распределений)

Визуализация распределений

# Создаём гистограммы с помощью библиотек, включенных по умолчанию в дистрибутив "R"
#png(file="sl_hist.png", bg = "white") #Если нужно сохранить рисунок, то убираем хештег
src1<-iris$Sepal.Length[iris$Species == "setosa"]
src2<-iris$Sepal.Length[iris$Species == "versicolor"]
src3<-iris$Sepal.Length[iris$Species == "virginica"]

#2 столбца и 2 строки для наших гистограмм. Добавление диаграмм "сверху-вниз"
#par(mfcol=c(2,2))#Один из способов объединения нескольких рисунков на одном поле (не работает knitr)
layout(matrix(c(1,2,3,0), 2, 2, byrow = TRUE))#Альтернативный способ размещения рисунков
hist(src1,xlab="Sepal length", ylab="f", probability=T, col="yellow", main=paste("Setosa")) 
lines(density(src1),col="red",lwd=3)
hist(src2,xlab="Sepal length", ylab="f", probability=T, col="yellow", main=paste("Versicolor")) 
lines(density(src2),col="red",lwd=3)
hist(src3,xlab="Sepal length", ylab="f", probability=T, col="yellow", main=paste("Virginica")) 
lines(density(src3),col="red",lwd=3)
#dev.off() #Если нужно сохранить рисунок, то убираем хештег. Окончание процедуры сохрания.

# Используем библиотеку "lattice" для визуализации вариационных рядов
library(lattice)

plot of chunk unnamed-chunk-1

#png(file="sl_hist_lattice.png", bg = "white") #this is necessary to save data
histogram(~ iris$Sepal.Length | Species, data=iris, type="density", col="yellow",
          panel = function(x, ...){
            panel.histogram(x, ...)
            panel.mathdensity(dmath = dnorm, col = "red",lwd=3,
                              args = list(mean=mean(x),sd=sd(x)))})

plot of chunk unnamed-chunk-1

#dev.off() #Сохранение диаграмм.

#Строим диаграммы "квантиль-квантиль"
#2 столбца и 2 строки для наших гистограмм. Добавление диаграмм "сверху-вниз"
par(mfcol=c(2,2))
qqnorm(src1, main="Setosa")
qqline(src1,col="red",lwd=3)
qqnorm(src2, main="Versicolor")
qqline(src2,col="red",lwd=3)
qqnorm(src3, main="Virginica")
qqline(src3,col="red",lwd=3)
#dev.off() #Если нужно сохранить рисунок, то убираем хештег. Окончание процедуры сохрания.

plot of chunk unnamed-chunk-1

1 comment: