Bölüm 2 Giriş
R’da işlemler gerçekleştirmeye başlamadan önce şunları akılda tutmakta yararlı olacaktır:#
sembolünün bulunduğu satırdaki sembolün sağında kalan kodlar R tarafından çalıştırılmaz. Bu sembol, genellikle yorum, hatırlatıcı eklemek için kullanılır.
;
sembolü konularak da aynı satırda birden fazla komut çalıştırılabilir. Ancak genellikle, daha okunabilir satır komutları için komutlar farklı satırlara yazılmaktadır.
+
işareti belirir. Bu işaret, komutun noksan olduğu anlamına gelir. Bununla genelde bir fonksiyonun son kapatma parantezinin ‘)
’ kullanılmadığı durumlarda karşılaşılır.
1 + 2
ile 1 + 2
işlemleri aynı sonucu verecektir. c(1,2,3)
komutunun çalıştırılması ile c(1, 2, 3)
komutunun çalıştırılması aynı sonucu verecektir. Buna karşın atama operatörü < -
şeklinde kullanılamaz. Bu durumda R bunu <
(küçüktür) işareti ve -
(eksi) işareti olarak anlayacaktır.
.
) ya da alt çizgi (_
) kullanılabilir. Tek bir harften oluşan nesneler oluşturulabilse de, nesnelere F
ve T
harfleri verilmemelidir. Bunun nedeni, F harfinin FALSE
, T harfinin ise TRUE
anlamında algılanmasıdır. Bunlar haricindeki bazı harfler de, tek harften oluşan bazı fonksiyonlara (örneğin, c(), q() gibi) çok benzeyeceği için, genel olarak tek harften oluşan harfler ile nesnelerin isimlendirilmesinden kaçınılmalıdır.
R, bir hesap makinesi olarak kullanılabilir. Örneğin konsola 1 + 2 işlemi yazıldıktan sonra ‘Enter’ tuşuna basıldığında 3 yanıtı alınacaktır. Kısacası dört işlem +, -, *, / sembollerinin yardımı ile yapılmaktadır. Bu işlemlerin daha sonra kullanılması planlanıyorsa işlemler kaynak (source) panelinde gerçekleştirilerek nesnelere atanabilir.
R’da işlemler gerçekleştirebilmek için belki de ilk olarak öğrenilmesi gereken bir nesnenin nasıl oluşturulacağıdır. Bunun için sıklıkla <-
atama operatörü kullanılmaktadır. Örneğin, kaynak (source) ekranına x <- c(12, 91, 6, 19)
yazılarak çalıştırıldığında x
isimli bir nesne oluşacaktır. Bu nesne, basit bir nümerik vektördür ve dört tane elemandan oluşur. Bu elemanlar 12, 91, 6 ve 19’dur.
## [1] 12 91 6 19
Veri atayarak bir nesne oluşturma =
işareti ile de yapılabilir.
## [1] 12 91 6 19
Ancak =
işaretinin özellikle fonksiyonlar içinde kullanımı daha yaygın olduğu için bu kitap boyunca <-
işareti ile atamalar gerçekleştirilmiştir. Ayrıca atanacak veri ile nesne ismi değiştirilerek de veri ataması yapılabilir.
## [1] 12 91 6 19
R’da atama operatörü kullanılmadan, fonksiyonlar aracılığı ile de veri oluşturulabilir. Örneğin,
## [1] 12 91 6 19
Burada örneklenen dört farklı satır komutunda da aynı işlem gerçekleştirilmektedir. Örneklerin ilk satırlarında x
isimli bir nesne oluşturulmaktadır ve bu nesne çalışma alanına (environment) kaydedilmektedir. Daha sonra istendiğinde kaydedilen bu x
nesnesi çağırılabilir ve üzerinde işlemler yapılabilir. Örneğin,
x*10
komutu çalışma ekranına yazılıp çalıştırılırsa x
vektöründeki her bir eleman 10 değeri ile çarpılır. Bu halde yeni bir vektör (nesne) elde edilmiş olur. Dilersek, bu yeni nesneye bir isim verebiliriz.
## [1] 120 910 60 190
Bu örnekte, y
nesnesi artık x
’ten bağımsız yeni bir vektör nesnesidir ve R tarafından kaydedilmiştir. İlerleyen zamanda y
nesnesi çağrıldığında artık 120, 910, 60 ve 190 sayılarından oluşan bir vektör ekrana gelecektir.
Her ne kadar temel bir konu gibi görünse de, programlamada nesne isimlendirme bazen karmaşıklaşabilmektedir. Çok sayıda satırdan oluşan kodlarda hazırlanan çalışmalarda çok sayıda nesneye isim verilmesine gereksinim duyulabilir. Nesnelerin sayısı arttıkça nesnelerin her birine isim vermek karmaşıklaşabilmektedir. Nesnelere hem kodları yazan hem de kodları okuyacak kişiler tarafından kolay bir şekilde takip edilebilecek isimler vermek yerinde olacaktır. Bu noktada iki yaygın anlayış vardır: ‘snake case’ ve ‘camel case’. Snake (yılan) case isimlendirmede nesneler genel olarak ‘yeni_veri’, ‘fonksiyon_a’, ‘grafik_yeni’ gibi isilendirilir. Camel (deve) case isimlendirmede ise nesneler genel olarak ‘yeniVeri’, ‘fonksiyonA’, ‘grafikYeni’ gibi isimlendirilir. Tabi ki istenilen tarz seçilebilir. Genel olarak ‘snake_case’ hangi harfin büyük hangisinin küçük yazıldığını karıştırmama konusunda avantaj sağladığı için tercih edilmektedir. Bu kitapta da sıklıkla bu anlayış tercih edilmiştir. Ancak, örnek olması açısından az sayıda nesne camel case şeklinde isimlendirilmiştir.