1 R ve Rstudio Temeller
Bu bölümde, R ve RStudio'nun nasıl kullanılacağının yanı sıra bazı temel programlama kavramları ve terminolojisi, yaygın tuzaklar, faydalı ipuçları ve nereden yardım alınabileceği konularını ele alacağız. Programlama deneyimi olmayanlar bu bölümü özellikle yararlı bulacaktır, ancak daha önce R kullanmış olsanız bile bazı yararlı ipuçları ve püf noktaları bulabilirsiniz.
Bu bölüm kendi kodunuzu yazmaya başlayana kadar bir anlam ifade etmeyebilir:)
Biraz sabretmenizi bekliyorum !
1.1 R Nedir?
R istatistiksel hesaplamalar yapabilen bir programlama dilidir.
1996 yılında Auckland Universitesi'nde Ross Ihaka ve Robert Gentleman tarafından geliştirilmiştir.
1960 yılında Bell Laboratories'de John Chambers ve arkadaşları tarafından geliştirilen S dilinin açık kaynak kodlu halidir.
R yazılımı Genel Kamu Lisansi (GNU* General Public Licence) koşulları altında ücretsiz dağıtılmaktadır.
R ve Temel Geliştirme Takımı (R core team) ile ilgili bilgilere R'in internet sitesinden (https://www.r-project.org/) ulaşılabilir.
-
R dilinin ilk sürümü 29 Subat 2000 tarihinde yayınlanmıştır. Her iki-üç ayda bir sürümler güncellenmektedir.
- R version 4.3.1 (Beagle Scouts) has been released on 2023-06-16.
RStudio, R ile çalışmayı kolaylaştıran bir Entegre Geliştirme Ortamıdır (Integrated Development Environment[IDE]).
Bunu İngilizce bilmek ve kitap yazmak için NotePad gibi düz bir metin editörü kullanmak ile Microsoft Word gibi bir kelime işlemci kullanmak gibi düşünün. Bunu yapabilirsiniz, ancak bu kadar iyi görünmez ve yazım denetimi ve biçimlendirme gibi şeyler olmadan çok daha zor olur. Benzer bir şekilde, R Studio olmadan da R kullanabilirsiniz ancak bunu tavsiye etmiyorum.
Unutmamanız gereken en önemli şey, bu ders için tüm çalışmalarınızı RStudio kullanarak yapacak olsanız da, aslında iki yazılım parçası kullanıyorsunuz, bu da zaman zaman her ikisinin de ayrı güncellemeleri olabileceği anlamına geliyor.
R'yi ölçme için kullanmanın iki yolu vardır. İlk olarak, web tarayıcınız aracılığıyla R ve R'nin çevrimiçi bir sürümünü kullanabilirsiniz (R server/sunucusu). İkincisi, R ve RStudio'yu dizüstü veya masaüstü bilgisayarınıza ücretsiz olarak indirip kurabilirsiniz.
1.2 Avantajları
R özgür istatiksel bir programlama dilidir.
R aynı zamanda bir yorumlayıcıdır (interpreter).
R, bir veri tabanı değildir ama veri tabanlarına bağlanabilir.
Önceki sürümleri kullancı dostu olmasa da, son zamanlarda kod editörlerine çok sayıda işlev eklenmiştir.
Ayrıca java gibi diller aracılığı ile ara yüz desteğine sahip bir yazılım geliştirme ortamıdır.
Tablolardan oluşan yazılım paketlerine (Excel, Minitab gibi) benzememekle birlikte, yeni geliştiren bazı paketler farklı ara yüzler sağlamaktadır.
Ücretsiz olması nedeniyle, ticari desteğe tabi bir yazılım değildir. Ancak destek alınabilecek çok sayıda kaynağa erisilebilir. (stackoverflow, mail listeleri)
1.3 Neden R?
R istatistiksel programlama, veri analizi ve grafiksel gösterim için kullanılan ve ticari bir amaç gütmeyen ücretsiz bir yazılımdır.
R, UNIX, Windows ve MacOS gibi çeşitli platformlarda kodları derlemekte ve çalıştırmaktadır.
SPSS, SAS gibi veri analizi programları ücretlidir, ayrıca bazı özel psikometri analizleri için yeterli değildir.
R, açık kaynak kodlu olduğu için program kodlarına istenildiği zaman erişilebilir.
Diğer istatistiksel yazılımlar ile karşılaştırıldığında R komut satırı ara yüzünü kullanmaktadır.
Basit koşullar, döngüler ve kişi tanımlı fonksiyonlar yazmaya uyumlu basit ve etkili bir yazım diline sahiptir.
R'in ayrıca grafiksel imkânları oldukça fazladır; bu nedenle yayınlanabilir/basma uygun grafikler oluşturmak kolaydır.
R ekibi birçok alanda ayrıntılı dokümantasyonu yapılmış R paketleri geliştirmektedir.
Klasik istatistik yazılımlarında analiz sonuçları bir kez elde edilir. R yazılımında ise sonuçlar çalışma alanına kaydedilerek, ileriki analiz aşamalarında tekrar kullanabilir.
R, psikometri alanında sıklıkla kullanılan simülasyon çalışmaları için (tekrarlı işlemler için) de avantaj sağlamaktadır.
R, diğer programlama dilleri ve istatistik paket programları ile uyumludur.
1.4 Dezavantajları
Basta öğrenilmesi kolay görünse de, R'da uzmanlaşmak oldukça zordur.
Menu ile kullanılan programlara alışkın olan kişiler için başlangıçta korkutucu olabilir.
R ile bir analizi yapabilmek için planlama yapılması gerekmektedir.
R kullanıcıları çoğunlukla programlamacı değildir. Programlamaya hâkim olmayan kişiler tarafından hazırlanan, okunması ve sürdürülebilirliği zor kodlar oluşturulabilir.
Başlangıçta kodları yazmak yıldırıcı olabilir; ancak çalışmaların tekrarlanabilirliği açısından avantaj sağlamaktadır.
Bu duruma bir örnek vermek gerekirse, 20 adet regresyon denklemi kurulup regresyon katsayıları karşılaştırılmak istenirse, R yazılımı sadece regresyon kat sayılarını gösterebilir ve tek bir satırda tüm regresyon sonuçlarını karşılaştırmaya olanak verir. Aynı işlem için diğer istatistiksel yazılımlarda 20 ayrı pencereden elde edilen sonuçların elle yazılarak karşılaştırılması gerekecektir.
R'da hata yapma olasılığı diğer programlara göre daha fazladır. Hata kaynağı için varsayımların iyi bilinmesi gerekmektedir.
Hız konusunda SPSS ve SAS'a göre avantajlı olsa da diğer dillere göre (Python, Matlab gibi) daha yavaştır.
Geliştirilen çok fazla paket olduğu için, ihtiyaca uygun en iyi paketin seçimi zor olabilmektedir.
Bu bir dezavantaj gibi görünse de istatistiksel işlemlerin arka planını anlamaya yardımcı olur.
Bu tarz zayıf hazırlanmış kodlar farklı koşullarda yavaş çalışabilmektedir.
Çoğu kullanıcı bu eksiklikleri gidermek için kodları değiştiremez. Özellikle çok iyi yapılandırılmamış olan kodlar R'da yavaş çalışabilmektedir.
1.5 R ve Rstudio Yüklenmesi
Internet tarayıcısına R yazılımın internet sitesinin ana sayfasının adresi yazılır. https://www.r-project.org/
Sol menüde yer alan "download CRAN" bölümüne tıkladıktan sonra ülke seçilir. Seçilen ülkenin yakınlığı sadece yükleme hızını değiştirecektir.
Çıkan sayfada "Download and Install R" baslığı altından işletim sistemine uygun olan bağlantı seçilir.
R konsolda çalışmaya doğrudan başlanabilir; ancak konsol kullanımı bir kod editörü olmadığı için çok kullanışlı değildir.
Rstudio hata ayıklama, görselleştirme araçları ile birlikte yüklenen modern bir kod editörüdür.
https://www.rstudio.com/ internet sitesinden kullanılan bilgisayar ve işletim sistemine uygun olarak seçilip indirilebilmektedir.
-
Rstudio R ile daha üretken olmanıza yardımcı olacak bir dizi araç içerir, örneğin:
R kodlarınızı vurgulamak için bir sözdizimi vurgulama düzenleyicisi
R kodlarını yazmanıza yardımcı olacak işlevler (otomatik tamamlama)
Çeşitli grafikler oluşturmak ve kaydetmek için çeşitli araçlar (ör. histogramlar, dağılım grafiği)
Verileri içe veya dışa aktarmak için bir çalışma alanı yönetim aracı
1.6 Diğer Gerekli Yüklemeler
Benim açıklamalarım yetmediyse R'yi bilgisayarınızda kullanmak için, lütfen daha ayrıntılı talimatlar ve indirmeniz gereken dosyaların bağlantılarının yanı sıra R'yi farklı bilgisayar türlerine yüklemek için bir dizi kılavuza bağlantılar içeren Installing R adresine bakın!!
Yüklemeler konusunda daha da fazlasına ihtiyacımız var ise R studio R !
Verilen linkte yer alsa da ayrıca eklemeye ihtiyaç duyduğum bağlantılar:
Rtools Rtools, kaynak koddan derleme yapmaya yarayan araçları içeren bir R yardımcısıdır. Önemli: Eğer Windows kullanıyorsanız, ayrıca Rtools yüklemeniz gerekir.
devtools
install.packages("devtools")
1.7 R STUDIO
Rstudio'da panellerin yerlerini değiştirebiliriz.
Bunun yanı sıra yazı tipi, büyüklüğü gibi özellikleri de değiştirebiliriz.
Varsayılan olarak, R Studio'yu açtığınızda, kodunuz ve oluşturduğunuz tüm nesneler dahil olmak üzere en son ne üzerinde çalıştığınızı gösterir. Bu yararlı gibi görünebilir, ancak aslında değerinden daha fazla soruna neden olma eğilimindedir, çünkü yanlışlıkla bir nesnenin eski bir sürümünü kullanma riskiniz olduğu anlamına gelir. R Studio'yu her başlattığınızda yeni bir kopya açacak şekilde ayarları değiştirmenizi öneririz. Bunu
Araçlar
-Global Seçenekler
seçeneğine tıklayarak ve ardından aşağıdaki gibi görünmesi için kutuların seçimini kaldırarak yapabilirsiniz.

Figure 1.1: Global options
Dönem boyunca Rstudio kullanımına aşina olacaksınız. Bu süreci kolaylaştırmak için bağlantıları verilen dökümanlara göz atabilirsiniz.
1.8 Hangi R sürümünü kullanmalısınız?
R'yi bilgisayarınıza kurmanın avantajı, kullanmak için internete bağlı olmanız gerekmemesi, dosyalarınızı kaydetmenin ve yönetmenin daha kolay olması ve sunucunun çökmesi durumunda sorun yaşanmamasıdır (bu nadirdir, ancak olmuştur).
R sunucusunu kullanmanın avantajı, bilgisayarına herhangi bir şey yüklemenize gerek olmaması, sadece web tarayıcınız üzerinden erişebilmenizdir.
R'yi yükleyemeyeceğiniz bir bilgisayarınız varsa (örneğin Chromebook) veya R'yi bilgisayarınıza yüklemeyle ilgili ciddi sorunlarınız varsa sunucuyu kullanmanızı öneririz.
1.9 R Studio Hakkında
R Studio, kodu deneyebileceğiniz bir konsola sahiptir (Şekil'de sol alt pencerede yer alır1.2).
Ayrıca kod editörü (sol üst), "Ortam" sekmesinde oluşturduğunuz fonksiyonları ve nesneleri gösteren bir pencere ( sağ üst pencere) ve grafikleri, dosya paketlerini ve yardım belgelerini gösteren bir pencere ise (sağ alt) bulunur.

Figure 1.2: RStudio arayüzü
- Bu ders boyunca R Studio'da bulunan özelliklerin nasıl kullanılacağı hakkında daha fazla bilgi edineceksiniz, ancak R Studio ekibinden RStudio Essentials 1 izlemenizi şiddetle tavsiye ederim. Video yaklaşık 30 dakika sürmekte ve R Studio'nun ana bölümlerini tanıtmaktadır.
1.10 R Temel Özellikler
- R konsolda görünen > işareti, R yazılımının sizden komut beklediğini belirtir. R'in hesap makinesi olarak kullanım örnekleri sunulmuştur.
2+2
[1] 4
- R boşluklara duyarlı değildir.
2 + 2
[1] 4
2+
2
[1] 4
1.11 Atama Operatoru
Atama operatörü olarak "küçüktür" simgesi ile "kısa çizgi" simgesi
<-
simgeleri kullanılabilir.<-
yerine "eşittir"=
simgesi de atama operatörü olarak kullanılabilir.Ancak
=
operatörü programlama yaparken matematiksel eşitlikle karışabilmektedir.Atama yapılacak nesne isimlendirilirken harflerle (A* Z veya a* z) başlamalıdır.
İsimlendirmeye harfle başlandıktan sonra rakamlar (0* 9), nokta (.) ve alt cizgi (_) ile devam edilebilmektedir.
R harflerin küçük ve ya büyük olmasına karşı duyarlıdır.
R fonksiyonlarına benzer isimlerde nesne ismi kullanmamaya dikkat edilmelidir.
Ayrıca c,C,D,F,I,q,t,T gibi tek harfli nesne ismi kullanmaktan kaçınılmalıdır; bunların R'da özel anlamları bulunmaktadır.
R yazılımında # işareti ile başlayan satır, yorum satırıdır.
Genellikle komutların anlamını açıklamak için kullanılmaktadır.
R, bu satırları dikkate almaz, bunlar sadece kullanıcılar için bilgi ve hatırlatıcı açıklamaları içermektedir.
# Yorum satirlari kodlarinizi anlamli hale getirir.
a <- 2
y <- a * a
y
[1] 4
1.12 Basit İslemler
toplama işlemi için +,
çıkarma işlemi için -,
çarpma işlemi için *,
bölme işlemi için /,
üs alma işlemi için ^ veya *
mod alma icin ise %% operatorleri kullanılmaktadır.
Kodlamanızın büyük bir kısmı nesne oluşturmayı ve nesneleri manipüle etmeyi içerecektir. Nesneler bir şeyler içerir. Bu şeyler sayılar, kelimeler veya işlemlerin ve analizlerin sonucu olabilir
Alıştırma Nesneler oluşturma
- Aşağıdaki kodu kopyalayıp konsola yapıştırın, kodu kendi adınızı ve yaşınızı kullanacak şekilde değiştirin ve çalıştırın. Enviroment bölmesinde
ad
,yas
,gun
,yeniyil
veveri
nesnelerinin göründüğünü göreceksiniz.
ad <- "ada"
yas <- 16 + 20
gun <-Sys.Date()
yeniyil <- as.Date("2024-01-01")
veri <- rnorm(n = 10, mean = 15, sd = 3)

Figure 1.3: Calisma alanındaki nesneler
Bu örneklerde,
ad
,yas
veyeniyil
her zamanada
,36
değerlerini ve 2024 Yeni Yıl Günü tarihini içerecektir, ancakgun
tarihi işletim sisteminden alacaktır veveri
rastgele oluşturulmuş bir veri kümesi olacaktır, bu nedenle bu nesnelerin değerleri statik olmayacaktır.Daha da önemlisi, nesneler hesaplamalara dahil olabilir ve birbirleriyle etkileşime girebilir. Örneğin:
yas + 10
yeniyil - gun
mean(veri)
[1] 46
Time difference of 8 days
[1] 13.40849
- Son olarak, bu işlemlerin sonucunu yeni bir nesnede saklayabilirsiniz:
n1 <- yas + 10
<-ifadesini
içerirşeklinde okumak faydalı olabilir, örneğin
adifadesi
ada`
metnini içerir.
- Bu ders boyunca sürekli olarak nesneler yaratacaksınız ve ilerledikçe onlar ve nasıl davrandıkları hakkında daha fazla bilgi edineceksiniz, ancak şimdilik bunların değerleri kaydetmenin bir yolu olduğunu, bu değerlerin sayı, metin veya işlemlerin sonucu olabileceğini ve yeni değişkenler oluşturmak için başka işlemlerde kullanılabileceğini anlamak yeterlidir.
Nesnelerin ‘değişkenler’ olarak adlandırıldığını da görebilirsiniz. Programlama terimlerinde ikisi arasında fark vardır, ancak çok sık eşanlamlı olarak kullanılırlar.
Alıştırma Nesneler oluşturma
- Aşağıdaki kodu kopyalayıp konsola yapıştırın.
- Eni 4 cm, boyu 10 cm bir dikdörtgenin alanı hesaplayınız.
# en nesnesi tanimlama
# boy nesnesi tanimlama
# alan nesnesi tanimlama
# alan nesnesini yazdirma
[1] 40
- Eni 4 cm, boyu 10 cm bir dikdörtgenin köşegen uzunluğunu hesaplayınız.
# en nesnesi tanimlama
# boy nesnesi tanimlama
# kosegen nesnesi tanimlama
# kosegen nesnesini yazdirma
[1] 10.77033