714R Sanal Sınıfı

Enerji Sistemleri için R ile Veri Analizi ve Görselleştirme

Doç. Dr. Hasan Sarptaş
Ege Üniversitesi, Güneş Enerjisi ABD. Yüksek Lisans Dersi

▄▀ Giriş

 

R Değişkenleri - Oluşturma, Adlandırma ve Kullanma

Değişken, veriyi saklamak için ayrılmış bir bellek konumudur ve ona atanan isim, saklanan değere erişmenizi ve değiştirmenizi sağlar. Bellek bloğunun bir tanımlayıcısı olarak davranır ve programın çalışması sırasında farklı veri tiplerindeki değerleri tutabilir.

R'de Değişken Nasıl Oluşturulur?

R'de bir değişken, bir isme değer atayarak oluşturulur. R, değişkenlere değer atamak için üç yöntem destekler:

1. Eşitlik Operatörü (=) Kullanarak

Eşitlik operatörü (=), değeri doğrudan değişkene atar.

# Eşitlik operatörü ile string atama
var1 = "Merhaba Geeks"
print(var1)
Çıktı
[1] "Merhaba Geeks"

2. Sol Yönlü Operatör (<-) Kullanarak

Sol yönlü operatör <-, sağ taraftaki değeri soldaki değişkene atar. R'de en yaygın kullanılan yöntemdir çünkü atama yönünü netleştirir ve karşılaştırma (=) ile karışmasını önler.

# Sol yönlü operatör ile string atama
var2 <- "Koda Hazır"
print(var2)
Çıktı
[1] "Koda Hazır"

3. Sağ Yönlü Operatör (->) Kullanarak

Sağ yönlü operatör ->, soldaki değeri sağdaki değişkene atar. <- ile aynı işi yapar ancak yönü tersinedir.

# Sağ yönlü operatör ile string atama
"Bayt Bayt" -> var3
print(var3)
Çıktı
[1] "Bayt Bayt"

R'de Değişken Adlandırma Kuralları

R'de değişken isimleri belirli kurallara uymalıdır. Bu kurallar, isimlerin geçerli olmasını ve R sözdizimiyle çakışmamasını sağlar.

  1. Geçerli Karakterler: Harfler (a-z, A-Z), sayılar (0-9), nokta (.) ve alt çizgi (_) kullanılabilir.
    var1 <- 10
    var.name <- "R"
    var_name <- TRUE
  2. Büyük/küçük harf duyarlılığı: R büyük/küçük harfe duyarlıdır.
    deger <- 100
    Deger <- 200
    print(deger)
    print(Deger)
    Çıktı
    [1] 100
    [1] 200
  3. Özel Karakter Kullanılamaz: $, #, %, @ gibi özel karakterler kullanılamaz.
    var$1 <- 5
    Hata verir.
  4. Başlangıç Karakteri: Değişken adı harf veya nokta (.) ile başlamalıdır.
    var <- 10
    .var <- "Merhaba"
  5. Sayı veya Alt Çizgi ile Başlamaz: Sayı veya alt çizgi ile başlayamaz.
    2var <- 5
    Hata verir.
  6. Nokta Sonrası Sayı Kuralı: Nokta (.) ile başlıyorsa hemen ardından sayı gelmemelidir.
    .3var <- 10
    Hata verir.
  7. Ayrılmış Kelimeler Kullanılamaz: TRUE, FALSE, NA, NULL, Inf, function gibi ayrılmış kelimeler değişken adı olamaz.
    TRUE <- 1
    Hata verir.

R Programlamada Değişken Kapsamı (Scope)

Değişken kapsamı, değişkenin programın hangi kısmında erişilebilir ve kullanılabilir olduğunu belirler. Kapsamı anlamak hataları önler ve veriyi etkili yönetmeyi sağlar. İki ana kapsam türü vardır:

1. Global Değişkenler

Global değişkenler herhangi bir fonksiyonun dışında tanımlanır ve programın her yerinden erişilebilir/değiştirilebilir. Program süresince bellekte kalır (açıkça silinmedikçe).

global = 5
goster = function(){
  global = 20
  print(global)
}
goster()
print(global)
Çıktı
[1] 20
[1] 5

2. Yerel (Local) Değişkenler

Yerel değişkenler bir fonksiyon veya belirli kod bloğu içinde oluşturulur ve yalnızca o blok içinde kullanılabilir. Fonksiyon bittiğinde bellekten silinir.

fonksiyonum <- function() {
  yerel_degisken <- 10  # Yerel değişken
  print(yerel_degisken)
}
fonksiyonum()
print(yerel_degisken)
Çıktı
[1] 10
Error: object 'yerel_degisken' not found

R Değişkenleri İçin Önemli Fonksiyonlar

R, değişkenlerle çalışmayı kolaylaştıran birkaç yerleşik fonksiyon sunar.

1. class() Fonksiyonu

Değişkenin veri tipini belirler.

var1 <- "Merhaba Geeks 001"
print(class(var1))
Çıktı
[1] "character"

2. ls() Fonksiyonu

Çalışma alanında mevcut tüm değişkenleri listeler.

var1 <- "merhaba"
var2 <- 20
var3 <- TRUE
print(ls())
Çıktı
[1] "var1" "var2" "var3"

3. rm() Fonksiyonu

Belirtilen değişkeni siler ve belleği temizler.

var3 <- "merhaba"
rm(var3)
print(var3)
Çıktı
Error: object 'var3' not found

4. exists() Fonksiyonu

Bir değişkenin çalışma alanında olup olmadığını kontrol eder (TRUE/FALSE döner).

var1 <- 10
print(exists("var1"))
print(exists("varX"))
Çıktı
[1] TRUE
[1] FALSE