17  Bilimsel Hikaye Anlatımı 3

İlk olarak library fonksiyonunu kullanarak “ggplot2” yi kuruyoruz.

Bunu yazdığınızda hata alıyorsanız install.packages(“ggplot2”) yazabilirsiniz.

ggplot() Hazırlayacağımız grafiğin alt yapısını oluşturur.

ggplot içerisinde çoğunlukla veri çerçevisi kullanıyoruz, kullandığımız bilginin veri çerçevesi olması gerekiyor.

Öncelikle iris veri çerçevesini kullanıyoruz, iris veri çerçevesi R içinde hazır geliyor.

Sütun isimlerini hatırlamak gerekiyor.

head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

Bir grafik oluşturalım. Data içerisine kullanacağımız veri çerçevesinin ismini yazmalıyız.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length))

Bir opsiyon daha ekleyelim. Veriyi belirledik üstüne görselleştirmeler ekleyelim.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point()

Renklendirme yapalım. Aes opsiyonu ile gerçekleştiriyoruz.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species))

“ggtitle()” komutu ile grafiğin içine başlık ekleyebiliriz.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species)) + ggtitle(label = "İris veri cercevesi")

“subtitle” ile alt başlık da oluşturabiliriz.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species)) + ggtitle(label = "İris veri cercevesi", subtitle = "İris veri cercevesindeki bitkilerin petal uzunluk ve genisliklerinin nokta grafi ile gösterimi. Renkler, farklı turleri temsil etmekte")

İstersek bu grafiği kaydedebiliriz. Plots kısmında “Export” a tıklayıp “save as pdf” e tıklayıp “Landscape” olarak kaydedebilirsiniz.

“xlab” ve “ylab” komutları ile grafiğin x ve y eksenini Türkçeleştirebilirsiniz fakat Türkçe olunca her zaman kaydedilemiyor.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species)) + ggtitle(label = "İris veri cercevesi", subtitle = "İris veri cercevesindeki bitkilerin petal uzunluk ve genisliklerinin nokta grafi ile gösterimi. Renkler, farklı turleri temsil etmekte") + xlab("Petal Genisligi") + ylab("Petal Uzunlugu")

Grafik de türlerin şekillerini değiştirmek istersek. “shape” komutunu kullanabiliriz.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species, shape = Species))

Grafikteki noktaların boyutlarını da değiştirebiliriz.

ggplot(data = iris, aes(x= Petal.Width, y = Petal.Length)) + geom_point(aes(color = Species, shape = Species, size = Sepal.Length))

Kutu grafiklerini oluşturmak için ise “geom_boxlot()” kullanmalıyız.

ggplot(data = iris, aes(y = Petal.Length)) + geom_boxplot()

“X” eksenine türleri ekleme:

ggplot(data = iris, aes(y = Petal.Length, x = Species)) + geom_boxplot()

Kutu grafiğinde renk ekleme:

ggplot(data = iris, aes(y = Petal.Length, x = Species)) + geom_boxplot(aes(color = Species))

“Color” komutu çoğunlukla dış kısmı boyuyor. “fill” ise doldurma anlamına gelmekte iç kısımları boyuyor.

ggplot(data = iris, aes(y = Petal.Length, x = Species)) + geom_boxplot(aes(color = Species, fill = Species))

Grafige başlık ekleme ile x ve y eksenini isimlendirme.

ggplot(data = iris, aes(y = Petal.Length, x = Species)) + geom_boxplot(aes(color = Species, fill = Species)) + ggtitle(label = "İris bitkisi turlere gore sepal uzunluklar") + xlab("Tur") + ylab("Petal Uzunlugu")

Histogramlar bir verinin dağılımını bize veriyor. Histogramları oluştururken tek bir eksen kurmalıyız o da “X” ekseni.

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram()
`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Üstekki komutu yazdığınızda uyarı alacaksınız. Bu uyarının anlamı bin boyutları oluşturduğumuz histogramda 30 farklı bin var. Bin boyutunu değiştirebiliriz.

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram(bins = 10)

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram(bins = 5)

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram(bins = 30)

“X” Ekseni bizim belirlediğimiz değişkeni ifade ederken, “Y” ekseni ise onun frekansı(kaç tane olduğu). Bin ön tanımlı olarak 30 geliyor isterseniz değiştirebilirsiniz.

Histogram grafiğine renk ekleyebiliriz. “fill” opsiyonunu kullanıyoruz, kutuların içini boyayacağız.

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram(bins = 30, aes(fill = Species))

Oluşturduğumuz histograma başlık, y ve x ekseni isimleri ekleyelim.

ggplot(data = iris, aes(x = Petal.Length)) + geom_histogram(bins = 30, aes(fill = Species)) + ggtitle(label = "İris bitkisinde petal uzunluklarının histogrami") + xlab("Petal uzunlugu") + ylab("Frekans")

Histogramın bir sonraki aşaması;

Yogunluk grafikleri, histogramlara göre göze daha hoş görünen grafiklerdir. .

ggplot(data = iris, aes(x = Petal.Length)) + geom_density()

Biraz daha güzelleştirelim:

ggplot(data = iris, aes(x = Petal.Length)) + geom_density(aes(fill = Species))

Renkleri “fill” opsiyonu ile verdiğimiz için üç farklı popülasyon içindeki dağılımları vermiş oldu.

Grafiğe transparanlık ekleyelim:

ggplot(data = iris, aes(x = Petal.Length)) + geom_density(aes(fill = Species), alpha = 0.9)

Grafiğe isim ekleyelim:

ggplot(data = iris, aes(x = Petal.Length)) + geom_density(aes(fill = Species), alpha = 0.9) + ggtitle(label = "Iris bitkisinde petal uzunlukları yogunluk grafigi")

Kutu grafikleri ile ilgili bir grafik. Kutu grafiğine benziyor ama yoğunlukları da vermektedir.

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin()

Bu grafiği renklendirelim:

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin(aes(fill = Species))

Bu grafiğin üstüne farklı görselleştirmeler ekleyebilme imkanımız var.

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin() + geom_point()

“geom_jitter” fonksiyonu ile de görselleştirme imkanımız var.

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin() + geom_jitter()

Noktaların dağılımlarını da ayarlayabiliriz:

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin() + geom_jitter(width = 0.5)

ggplot(data = iris, aes(x = Species, y = Petal.Length)) + geom_violin() + geom_jitter(width = 0.1)

Sütun grafikleri oluşturma:

ggplot(data = iris, aes(y = Petal.Length)) + geom_bar()

ggplot(data = iris, aes(x = Petal.Length)) + geom_bar()