R Studio kullanirken dogrudan script acabildigimiz gibi, RProject yaratip onu da kullanabiliriz. Bunun saglayacagi bir yarar dogrudan scriptimizi, kullanacagimiz verileri, sonuc ciktilarini(tablolar, grafikler) saklayabilecegimiz bir dosyanin yaratilmasi ve bu R Project dosyasini paylasarak hepsini bir arada tutabilmemiz.
Ikinci bir yarari ise working directory dedigimiz calisma alanimizi otomatik olarak belirlemesi. Working directory analizi yaparken kullanacagimiz dosyalarin ve ortaya cikan sonuclarin atildigi bir yerdir. Her projenin kendi working directorysi olmasi calismayi kolaylastirir ve veri kaydetmeyi veya veri almayi daha kolay hale getirir.
R kullanirken veri cekmeyi daha sonra ogrenecegiz ama cekecegimiz verinin scripti actigimiz yerle ayni olmasi gerekir, yoksa R dosyayi bulamayacaktir. Bunun onune dosyanin bulundugu yerin tam adini yazarak gecebiliriz ama ayni yerde bulunmasi isleri kolaylastiracaktir.
Working directory verileri cektigimiz ve analizi kaydettigimiz yerin adiydi.
Bunu kontrol etmek icin RStudio kullanabilir veya komut olarak
## [1] "/Users/alionurgitmez/Desktop/R Dersi/Hafta 1"
kullanabiliriz.
Eger degistirmek istiyorsak da
kullanip yeni alan adini belirleyebiliriz.
R kullanirken en cok isimize yarayacak konulardan birisi de R paketleridir. Bunlari bos isvicre cakisinin ustune yapilan eklemler gibi dusunebiliriz. Normalde belli hesaplari yapmaya yarayen bir programi, oyun teorisi analizi yapan, internetten veri ceken, bir yazida en cok kullanilan kelimeleri gosteren ve bunlardan cok daha fazlasini yapan bir arac haline getiriyor. Base R diye adlandirdigimiz komutlar ile 5 satirda yaptigimiz bir isi bu araclari kullanarak 1 satirda yapabiliriz veya karmasik olan islemleri cok basit 1-2 operator araciligiyla yapabiliriz. Bu ikisinin arasindaki farki ilerleyen zamanda gorecegiz.
R paketleri farkli yerlerde bulunabilir. Bazi paketler CRAN adi verilen ve onaylanmis R paketlerinin bulundugu bir sistemde tutuluyor. Buradan paket yuklemek cok kolay. Tek yapmaniz gereken
Bazi paketler ise Github adini verdigimiz sistemde bulunur. Yeni paketler, onaylanmamis paketler veya onaylanmis paketlerin en yeni versiyonlarini buradan alabiliriz. Bunun icin ek paket gerekse bile yine cok basit bir komutla paketi indirebiliriz.
R paketlerini indirdikten sonra kullanmak icin de bir komut girmemiz gerekir. Bunu R’i her actigimiz zaman bastan girmemiz gerekiyor. Best practice olarak scriptin basina kullanacaginiz tum paketleri yazarsaniz her acisinizda hizlica yapabilirsiniz. Bunun icinse:
Paketleri guncellemek icinse hepsini guncellemek istiyorsak:
Sadece bir paketi guncellemek istiyorsak
Naming conventionlar r objelerine, veri sutunlarina ve dosyalara verecegimiz isimleri kapsar. Naming conventionlarda obje isimlendirmelerini kucuk harflerle ve kelimeleri _ ile ayirarak yapariz. Dosyalar icinse yine kucuk harf ve kelimelerin - ile birbirinden ayrildigi bir convention uygulanir.
R’da temel olarak kullancagimiz komutlar = veya <- komutlaridir. Bunlar herhangi bir bilgiyi daha sonra kullanmak uzere bir degiskene atama isine yarar. Her ikisi de ayni gorevi gorse bile <- isareti yillar icinde R kullanicilari arasinda konvansiyon haline gelmistir. Ondan dolayi = yerine <- kullanmaya alismamiz gerekir. Ancak eski R dokumanlarini incelerseniz = ibaresini de gorebilirsiniz.
Bu isareti yapmanin kolay bir yolu Mac uygulamasi olarak Keysmith indirmek ve orada bir atama yapmak. Boylece klavyede cok kullanmadigimiz tuslar yerine bunu atayarak islemlerimizi hizlica yapabiliriz.
ANCAK bir sayiya degisken atamasi yapamayiz. Bunun sebebi ise R icin o sayinin bir anklami olmasi. Ayni sekilde R dilinde programlama sirasinda kullanilan terimlere de degisken atamasi yapamayiz. Ayni zamanda belli kelimelere de degisken adi atamasi yapilamaz. Bu kelimeleri gormek icin:
R ile calismak icin baslangic olarak script kismini kullanacagiz Ilerleyen donemlerde ise bu sunumu hazirladigim ve dokuman hazirlama konusunda da ise yarayan Markdown adi verilen programi kullanabiliriz. Ancak iyi bir yontem basta script ustunde calisip sonra o dokumana gecmek olacagi icin script bizim temel isimiz olacak.
Script ustunde calisirken burada yaptigim gibi duz yazi yazmamiz mumkun degil. Eger bu sekilde yaziyorsak R onun bir komut oldugunu dusunup calistirmak istyecektir ve dogal olarak basarili olamayacak. Bunun icin commenting dedigimiz bir islem var. Her satirin basina # getirerek o satira istedigimizi yazabiliriz. Bunun kullanilma sebebi kodun ne ise yaradigini ve amacini hem kendimize hem de okuyan ucuncu kisilere anlatmak. Aylar sonra dondugumuz bir projede ne yapmaya calistigimizi hatirmak zor olacagindan bu yorumlari ekleyerek kodu calistirmamiz mumkun.
R scriptini calistirmanin iki farkli yolu var. Ilki tum scripti bastan calistirmak. Bu tamamladigimiz dokumanlari sonradan actigimiz zaman tercih edecegimiz bir yol. Ikinci yontem ise parca parca calistirmak. Bu en cok kullanacagimiz yontem olacak. Kodumuzu script kismina girdigimiz icin, console kismina kopyalamaya gerek kalmadan satir satir veya parca parca calistirmamiza imkan veriyor.
R’da temel olarak 5 veri tipi vardir. Bunlarin genel adi atomik vektorlerdir. Genel olarak 3 tanesini kullaniriz.
[1] "numeric"
Bu veri tipinin iki alt grubu vardir:
[1] "numeric"
[1] "double"
[1] "double"
[1] "integer"
[1] "integer"
[1] "Bilgisayar"
[1] "R dersi"
[1] "character"
[1] "character"
[1] FALSE
[1] FALSE
[1] "complex"
[1] "complex"
R, islem onceligini de dikkate alarak hesap yapmaya yarar. 4 temel islemi yapabiliriz.
[1] 4
[1] 2
[1] 20
[1] 6
Yapabilecegimiz islemler elbet bunlarla sinirli degil. Ornek olarak aritmetik islemlerlde:
Sayinin ussunu almak icin
[1] 8
Bolumden kalani bulmak icin
[1] 3
Bolme sonucunun tam sayi kismini almak icin
[1] 4
Karekok almak icin
[1] 12
Ayni zamanda logical kismindaki ornekte gordugumuz uzere mantik operasyonlari da yapabilir.
logicalsonuc2 <- logical1 | logical2
logicalsonuc3 <- logical1 == logical2
logicalsonuc4 <- logical1 != logical2
logicalsonuc5 <- logical1 & logical2
logicalsonuc2
[1] TRUE
[1] FALSE
[1] TRUE
[1] FALSE
Burada dikkatimizi cekmesi gereken onemli bir durum var. Esitlik saglamasi yaparken iki tane = koydum. Bunun sebebiyse programlama dillerinde = isaretinin degisken atama isine yaramasi ve iki obje arasindaki esitlige bakacaksam atama yapmayacagim icin iki tane = kullanmak gerekiyor.
Karsilastirma yaparken de R operatorlerini kullanabiliriz
[1] TRUE
[1] FALSE
[1] TRUE
[1] TRUE
R’da degiskenleri kullanarak sayilar olmadan da hesaplama islemi yapabiliriz.
[1] 11
Son olaraksa : kullanarak sayi serileri olusturmamiz mumkundur
Bunun disinda ogrenecegimiz %in% gibi operatorler de var ancak onlar farkli veri yapilarini ogrendigimiz zaman ise yarayacak.
set.seed() komutu R ile sayilar olusturuyorsak, reproducibility acisindan cok onemlidir. Bu komutu kullanarak yaptigimiz islemlerde hep ayni sayilarin gelecegini garanti ederiz. Boylece random sayilar olusturarak yapacagimiz bir analizin baskasi tarafindan da ayni sekilde gerceklestirilecegi garanti olur.
Ornek olarak:
[1] 52 63 79 90 98 57 30 28 15 99
[1] 6 39 18 27 9 17 89 69 12 2
set.seed(2024)
random_numbers_3 <- sample(1:100, 10)
set.seed(2024)
random_numbers_4 <- sample(1:100, 10)
random_numbers_3
[1] 66 37 45 60 17 32 29 11 16 94
[1] 66 37 45 60 17 32 29 11 16 94
Bu islem ne sonuc verir?