3. Temel Matematiksel ve Mantıksal İşlemler

Her blok satırının başında veya sonunda CTRL+ ENTER (MAC için control + ENTER veya Comman + ENTER) veya Run ikonuna da tıklar isek o satır komutunu çalıştırmış olur.

Bir blokta birkaç satırı veya bloğun tamamını çalıştırmak istersek ilgili satırları tarayıp Run ikonunu tıklamamız gerekir.

Hesap makinesi gibi kullanabileceğiniz temel R operatörleri ve mantıksal sorgulamalar:

# Aritmetik İşlemler
1 + 1         # Sonuç: 2
## [1] 2
2 * (3 + 4)   # Sonuç: 14
## [1] 14
log(10)       # 10'un logaritmasını alır
## [1] 2.302585
# Mantıksal İşlemler (TRUE / FALSE döndürür)
2 < 3         # TRUE
## [1] TRUE
2 == 2        # R'da "=" işareti atama görevi gördüğü için, matematiksel eşitlik "==" ile ifade edilir.
## [1] TRUE
2 != 2        # "!=" Eşit değildir anlamına gelir.
## [1] FALSE
3 <= 4        # Küçük eşittir.
## [1] TRUE

Not: R’da bir satırın kod olarak algılanmayıp yorum/açıklama olarak kalması için hashtag (#) işareti kullanılır.

4. Vektörler (Değişken) Oluşturma ve Veri Tipleri

R’da veriler bağımsız boyutlar (vektörler) halinde oluşturulabilir. Veriler yapılarına göre Karakter (String), Sayısal (Numeric/Double), Mantıksal (Logical) ve Eksik Veri (NA - Not Available) olmak üzere dört temel türe ayrılır.

Vektör oluşturmak (birleştirmek) için c() (concatenate) fonksiyonu, atama yapmak için ise <- veya = işareti kullanılır.

# Karakter (String) vektör oluşturma: Tırnak işareti içinde yazılmalıdır.
ad <- c("Ali", "Emrullah", "Ege")

# Sayısal (Numeric) vektör oluşturma:
yas <- c(26, 27, 25)

# Mantıksal (Logical) vektör oluşturma:
r_stat <- c(TRUE, FALSE, TRUE)

# Eksik/Bilinmeyen veri (NA):
car <- c(NA, NA, NA)

# Vektörleri görüntüleyelim
ad
## [1] "Ali"      "Emrullah" "Ege"
yas
## [1] 26 27 25
r_stat
## [1]  TRUE FALSE  TRUE

Verilerde Bulaşıcılık (Coercion) Kuralı: R’da farklı veri türleri tek bir vektörde birleşirse, daha güçlü olan tür vektörün tamamını dönüştürür. En baskın tür Karakterdir. Sayısal bir verinin arasına tırnak içinde olmasa dahi tek bir karakter girilirse, tüm veriler karaktere (string) dönüşür. İkinci baskın tür Sayısal veriler, en zayıf tür ise Mantıksal verilerdir. Türü kontrol etmek için typeof() fonksiyonu kullanılır.

5. İndeksleme, Alt Kümeler (Subsetting) ve İstatistiksel İşlemler

Vektörlerdeki elemanları sırasına göre seçmek için köşeli parantez [] ile indeksleme yapılır. Unutulmamalıdır ki Python’un aksine R’da sıralama 0’dan değil 1’den başlar.

min(yas)    # Minimum yaşı hesaplar
## [1] 25
max(yas)    # Maksimum yaşı hesaplar
## [1] 27
mean(yas)   # Yaş ortalamasını hesaplar
## [1] 26
# İndeksleme ve Alt Küme Oluşturma
ad             # "ad" vektörünün 1. öğesini getirir: Ali
## [1] "Ali"      "Emrullah" "Ege"
ad[c(1, 3)]       # 1. ve 3. öğeyi alt küme olarak getirir: Ali, Ege
## [1] "Ali" "Ege"
ad[1:3]           # 1. öğeden 3. öğeye kadar olanları getirir (3.öğe dahil)
## [1] "Ali"      "Emrullah" "Ege"
# Mantıksal alt küme oluşturarak yeni değişkene atama
yask <- yas[yas <= 27]  # 27'den küçük veya eşit olan yaşları yask objesine atar
yask
## [1] 26 27 25
# Obje/Nesne Silme
rm(yask) # "yask" nesnesini environment'tan kalıcı olarak siler (remove da yazılabilirdi)