Apply Komutu

Apply komutu, veri seti içerisinde belli bir komutun tüm değişkenlere veya belirlenen değişkenlere uygulanmasını sağlamaktadır. Komutun en önemli avantajı herhangi bir paketin yüklenmesine gerek duymamasıdır. Bir örnekle komutun uygulamasını görelim;

1) İlk olarak tidyverse ve plm kütüphanelerini aktif ettim. Tidyverse kütüphanesini aktif etmemin nedeni, veri setinde ufak bir düzenleme yapmak istemem. Eğer siz bir düzenleme yapmayacaksanız, bu kütüphaneyi aktif etmenize gerek yoktur. Plm kütüphanesini ise, gasoline veri seti üzerinden işlem yaptığım için aktif ettim.

library(tidyverse)

library(plm)

2) İkincisi, gasoline veri setini, plm kütüphanesi vasıtasıyla çektim ve View komutuyla veri setini inceledim.

data(Gasoline, package = "plm")

View(Gasoline)

3) Veri setinde sadece Türkiye'ye ait verileri seçmek için filter komutuyla işlem yaptım.

TR <- Gasoline %>% filter(country == "TURKEY")

4) Apply komutunu kullanabilmek için, verilerin ya numeric ya da kategorik olması gerekmektedir. Bu nedenle "country" ve"year" değişkenlerini veri setinden çıkartma işlemi gerçekleştirdim. Bunun için önce "colnames" komutu ile veri setinde yer alan değişkenlerin isimlerini yazdırdım. Sonrasında ise select komutu ile seçmek istediğim değişken isimlerini yazarak veri setini düzenledim.

colnames(TR)

[1] "country" "year" "lgaspcar" "lincomep" "lrpmg" "lcarpcap"

TR <- TR %>% select("lgaspcar","lincomep","lrpmg","lcarpcap")

5) Yaptığım düzenlemelerden sonra artık veri seti "apply" komutunun kullanımına hazır hale geldi. Öncelikle komutu kullanarak değişkenlerimin ortalamalarını görmek istedim. Apply komutu "apply(veri_adı, MARGIN = 1 veya 2, FUN=fonksiyonun_adı)" şeklinde çalışmaktadır. Margin değeri 1 girilirse fonksiyon satırlara; 2 girilirse sütunlara uygulanır. Fun kısmı ise uygulanmak istenen fonksiyonu simgelemektedir. Ortalama için mean, maksimum değer için max, minumum değer için min ve toplamını görmek için sum fonksiyonları kullanılabilir. Veya kendi oluşturduğunuz bir fonksiyonu da burada kullanabilirsiniz.

apply(TR, MARGIN = 2, FUN = mean)

lgaspcar lincomep lrpmg lcarpcap

5.766355 -7.336992 -0.421514 -12.458858

5.1) Sütunlara göre ortalama almak istendiğinde "colMeans" komutu da kullanılabilir. Örneğini aşağıda bulabilirsiniz.

colMeans(TR)

lgaspcar lincomep lrpmg lcarpcap

5.766355 -7.336992 -0.421514 -12.458858

6) Değişkenlerin toplamlarını görmek istediğimizde ise fun kısmına "sum" yazmamız gerekiyor.

apply(TR, MARGIN = 2, FUN = sum)

lgaspcar lincomep lrpmg lcarpcap

109.560747 -139.402844 -8.008766 -236.718302

6.1) Sütunlara göre toplam almak istendiğinde "colSums" komutu da kullanılabilir. Örneğini aşağıda bulabilirsiniz.

colSums(TR)

lgaspcar lincomep lrpmg lcarpcap

109.560747 -139.402844 -8.008766 -236.718302

Bonus: "lapply" komutu ile de "apply" komutu ile yaptığımız işlemlerin aynılarını yapabiliyoruz. Fakat tek farkı sonuçlar lapply komutu ile liste halinde verilmektedir.

lapply(TR, FUN = sum)

$lgaspcar

[1] 109.5607

$lincomep

[1] -139.4028

$lrpmg

[1] -8.008766

$lcarpcap

[1] -236.7183