# getwd() mevcut çalışma dizinini gösterir.
# Çıktı, R'nin şu anda hangi klasörü referans aldığını belirtir.
getwd()[1] "D:/Akademi ve Veri Bilimi/Data Science/Github/r-book-tr"
R öğrenmeye başlarken çoğu zaman doğrudan fonksiyonlara, veri setlerine veya grafiklere geçmek cazip gelir. Ancak bir programlama diliyle verimli çalışabilmek için önce o dilin temel çalışma mantığını anlamak gerekir. R’de komutların nasıl yazıldığı, nesnelerin nasıl oluşturulduğu, çalışma dizininin ne anlama geldiği, yardım sisteminin nasıl kullanılacağı ve temel operatörlerin nasıl çalıştığı bilinmeden daha ileri konulara geçmek sağlam bir temel oluşturmaz.
Bu bölümün amacı, R ile çalışmaya yeni başlayan bir kullanıcının ihtiyaç duyacağı temel kavramları bir araya getirmektir. Burada ele alınan konular ilk bakışta basit görünebilir; fakat ilerleyen bölümlerde veri okuma, veri düzenleme, fonksiyon yazma, modelleme ve raporlama gibi işlemlerin tamamı bu temel üzerine kurulacaktır.
Bu bölümde özellikle şu konular ele alınacaktır:
Amaç yalnızca bazı komutları ezberletmek değildir. Her komutun ne işe yaradığını, neden kullanıldığını ve hangi durumlarda dikkatli olunması gerektiğini anlamaktır.
R ile çalışırken dosyaların nerede bulunduğu ve çıktıların nereye kaydedildiği önemlidir. R’nin dosya okuma ve yazma işlemlerinde başlangıç noktası olarak kullandığı klasöre çalışma dizini denir. İngilizcede bu kavram working directory olarak geçer.
Çalışma dizini, R’nin “şu anda hangi klasörde çalıştığını” gösterir. Bir dosya adı verip tam dosya yolu belirtmediğinizde, R bu dosyayı çalışma dizini içinde arar. Aynı şekilde bir çıktı dosyası oluşturduğunuzda, aksini belirtmezseniz bu dosya çalışma dizinine kaydedilir.
Mevcut çalışma dizinini öğrenmek için getwd() fonksiyonu kullanılır. Buradaki isimlendirme İngilizcedeki get working directory ifadesinden gelir.
# getwd() mevcut çalışma dizinini gösterir.
# Çıktı, R'nin şu anda hangi klasörü referans aldığını belirtir.
getwd()[1] "D:/Akademi ve Veri Bilimi/Data Science/Github/r-book-tr"
Çalışma dizinini değiştirmek için setwd() fonksiyonu kullanılabilir. Bu fonksiyonun adı set working directory ifadesinden gelir.
# setwd() çalışma dizinini değiştirir.
# Aşağıdaki yol örnektir; kendi bilgisayarınızdaki geçerli bir klasör yolu yazılmalıdır.
setwd("C:/Users/Kullanici/Documents/R-Projeleri")Ancak modern R kullanımında, özellikle Quarto veya RStudio Project ile çalışırken kod dosyalarının içine sabit setwd() komutları yazmak her zaman iyi bir alışkanlık değildir. Çünkü bu tür dosya yolları kişisel bilgisayara bağlıdır. Aynı kod başka bir bilgisayarda çalıştırıldığında bu yol geçerli olmayabilir.
Kod içine setwd("C:/...") gibi kişisel dosya yolları yazmak, kodun taşınabilirliğini azaltır. Mümkün olduğunda RStudio Project veya Quarto proje yapısı kullanmak daha sağlıklı bir yaklaşımdır.
RStudio üzerinden çalışma dizini ayarlamak için menüden şu yol izlenebilir:
Session > Set Working Directory
Ancak daha sürdürülebilir yaklaşım, her analiz veya kitap projesi için ayrı bir proje klasörü oluşturmak ve ilgili dosyaları bu klasör içinde düzenli şekilde saklamaktır. Böylece veri dosyaları, R betikleri, Quarto belgeleri ve çıktılar aynı proje yapısı içinde tutarlı biçimde yönetilebilir.
Çalışma dizini içindeki dosyaları görmek için dir() veya list.files() fonksiyonları kullanılabilir.
# dir() mevcut çalışma dizini içindeki dosya ve klasörleri listeler.
dir() [1] "_book" "_common.R"
[3] "_quarto.yml" "apply.qmd"
[5] "apply_files" "basics.qmd"
[7] "basics.rmarkdown" "basics_files"
[9] "basics2.qmd" "cover.png"
[11] "custom.scss" "data_analysis.qmd"
[13] "data_analysis_files" "data_frame_kitap_bolumu.qmd"
[15] "data_join.qmd" "data_manipulation.qmd"
[17] "data_preprocess.qmd" "data_preprocess_files"
[19] "data_transformation.qmd" "data_types.qmd"
[21] "datasets" "date_time.qmd"
[23] "functions.qmd" "ggplot2.qmd"
[25] "ggplot2_files" "if_else_for.qmd"
[27] "images" "import_export.qmd"
[29] "index.qmd" "index.tex"
[31] "intro.qmd" "LICENSE"
[33] "r-book-tr.Rproj" "r_about.qmd"
[35] "R_intro.qmd" "README.md"
[37] "regresyon.qmd" "regresyon_files"
[39] "statistics.qmd" "statistics_files"
[41] "strings.qmd" "styles.css"
[43] "summary.qmd" "temel_kullanim_ilk_komutlar.qmd"
[45] "tinytable_assets"
# list.files() de benzer şekilde dosyaları listeler.
list.files() [1] "_book" "_common.R"
[3] "_quarto.yml" "apply.qmd"
[5] "apply_files" "basics.qmd"
[7] "basics.rmarkdown" "basics_files"
[9] "basics2.qmd" "cover.png"
[11] "custom.scss" "data_analysis.qmd"
[13] "data_analysis_files" "data_frame_kitap_bolumu.qmd"
[15] "data_join.qmd" "data_manipulation.qmd"
[17] "data_preprocess.qmd" "data_preprocess_files"
[19] "data_transformation.qmd" "data_types.qmd"
[21] "datasets" "date_time.qmd"
[23] "functions.qmd" "ggplot2.qmd"
[25] "ggplot2_files" "if_else_for.qmd"
[27] "images" "import_export.qmd"
[29] "index.qmd" "index.tex"
[31] "intro.qmd" "LICENSE"
[33] "r-book-tr.Rproj" "r_about.qmd"
[35] "R_intro.qmd" "README.md"
[37] "regresyon.qmd" "regresyon_files"
[39] "statistics.qmd" "statistics_files"
[41] "strings.qmd" "styles.css"
[43] "summary.qmd" "temel_kullanim_ilk_komutlar.qmd"
[45] "tinytable_assets"
Yeni bir klasör oluşturmak için dir.create() fonksiyonu kullanılır.
# "sonuclar" adında yeni bir klasör oluşturur.
dir.create("sonuclar")Bir dosya veya klasörün var olup olmadığını kontrol etmek için file.exists() kullanılabilir.
# Belirtilen dosya veya klasör mevcutsa TRUE, değilse FALSE döndürür.
file.exists("sonuclar")[1] FALSE
Bu tür kontroller özellikle otomatik rapor üretimi ve veri okuma-yazma işlemlerinde önemlidir. Örneğin bir çıktı klasörü yoksa önce oluşturmak, varsa mevcut klasörü kullanmak daha güvenli bir iş akışı sağlar.
R kodları belirli sözdizimi kurallarına göre yazılır. Bu kuralların bir kısmı teknik zorunluluktur, bir kısmı ise okunabilir ve sürdürülebilir kod yazmak için önerilen iyi alışkanlıklardır.
R büyük-küçük harfe duyarlı bir dildir. İngilizcede buna case sensitive denir. Yani a ile A R için aynı nesne değildir.
# Küçük harfle a adlı nesne oluşturuyoruz.
a <- 5
# a nesnesini yazdırıyoruz.
print(a)[1] 5
# Büyük harfle A farklı bir nesnedir.
A <- 6
print(A)[1] 6
Bu iki nesne birbirinden bağımsızdır.
a[1] 5
A[1] 6
Bu davranış özellikle yeni başlayanlar için önemlidir. Kod yazarken nesne adlarının büyük-küçük harf uyumuna dikkat edilmelidir. veri, Veri ve VERI R açısından üç farklı nesnedir.
R kodlarında # işareti yorum satırı yazmak için kullanılır. Bu işaretten sonra gelen metin R tarafından çalıştırılmaz. Yorum satırları, kodun ne yaptığını açıklamak ve daha sonra kodu okuyan kişiye yardımcı olmak için kullanılır.
# Bu satır yorumdur ve çalıştırılmaz.
# Aşağıda bir nesne oluşturuyoruz.
sayi <- 10
# Nesneyi ekrana yazdırıyoruz.
sayi[1] 10
Yorum satırları gereksiz yere her satırı tekrar etmemelidir. İyi yorum, kodun zaten açık olan kısmını değil, kodun arkasındaki niyeti açıklar.
Kötü yorum:
# x'e 5 ata
x <- 5Daha faydalı yorum:
# Analizde kullanılacak başlangıç değerini belirliyoruz.
baslangic_degeri <- 5R’de aynı satırda birden fazla komut yazmak mümkündür. Bunun için noktalı virgül ; kullanılır.
x <- 10; y <- 20; x + y[1] 30
Ancak bu kullanım genellikle önerilmez. Kodun okunabilirliği açısından her komutu ayrı satıra yazmak daha iyidir.
x <- 10
y <- 20
x + y[1] 30
Bu ikinci yazım biçimi daha açık, daha okunabilir ve hata ayıklaması daha kolaydır.
Yeni başlayanlar için en iyi alışkanlıklardan biri, kodu okunabilir yazmaktır. Kısa ama karmaşık kod yerine, biraz daha uzun ama anlaşılır kod tercih edilmelidir.
R’de hesaplanan değerleri daha sonra kullanabilmek için nesnelere atarız. Bir nesne, bellekte saklanan ve bir adla çağrılabilen değerdir. R’de nesne oluşturmak için en yaygın kullanılan operatör <- atama operatörüdür.
# x adlı bir nesne oluşturuyoruz ve içine 10 değerini atıyoruz.
x <- 10
x[1] 10
Atama operatörü, sağ taraftaki değeri sol taraftaki nesne adına atar. Yani yukarıdaki kod şu şekilde okunabilir:
x nesnesine 10 değerini ata.
R’de = işareti de atama için kullanılabilir.
y = 20
y[1] 20
Ancak R topluluğunda yaygın ve okunabilir kullanım, nesne oluştururken <- kullanmaktır. = işareti ise genellikle fonksiyon argümanlarını belirtirken kullanılır.
[1] 80
Bu ayrım başlangıçta küçük görünebilir; ancak kodun okunabilirliğini artırır. Kitap boyunca nesne atamalarında <-, fonksiyon argümanlarında ise = kullanılacaktır.
Atama operatörü yalnızca sabit değerler için kullanılmaz. Hesaplama sonuçları da nesnelere atanabilir.
a <- 5
b <- 10
# Hesaplama sonucunu sonuc adlı nesneye atıyoruz.
sonuc <- 2 * a + 3 * b
sonuc[1] 40
Burada sonuc nesnesi, hesaplama çıktısını saklar. Daha sonra aynı sonucu tekrar hesaplamak yerine bu nesne kullanılabilir.
sonuc / 5[1] 8
R’de nesne adları harf, sayı, nokta ve alt çizgi içerebilir; ancak sayı ile başlamamalıdır. Nesne isimleri okunabilir, anlamlı ve tutarlı olmalıdır.
İyi örnekler:
ortalama_not <- 75
ogrenci_sayisi <- 30
gelir_2024 <- 45000Bu nesne adları, içerdikleri bilginin ne olduğunu açıkça gösterir.
Kaçınılması gereken örnekler:
# Çok belirsiz isimler
x1 <- 75
abc <- 30
# R'de temel fonksiyon adlarını nesne adı olarak kullanmak sakıncalıdır.
c <- 1:5
mean <- 10c ve mean gibi adlar R’de temel fonksiyon adlarıdır. Bu isimleri nesne adı olarak kullanmak, ileride beklenmeyen sorunlara neden olabilir.
R’nin temel fonksiyon adlarını nesne adı olarak kullanmaktan kaçının. Özellikle c, mean, sum, data, T ve F gibi isimler yeni başlayanların sık yaptığı hatalardandır.
Ayrıca T ve F yerine her zaman TRUE ve FALSE yazmak daha güvenlidir. Çünkü T ve F nesne adı olarak yeniden atanabilir; ancak TRUE ve FALSE sabittir.
# Önerilen kullanım
mantiksal_deger <- TRUE
mantiksal_deger[1] TRUE
R oturumunda oluşturulan nesneler çalışma alanında saklanır. Mevcut nesneleri görmek için ls() fonksiyonu kullanılabilir.
# Çalışma alanındaki nesneleri listeler.
ls() [1] "a" "A" "b" "gelir_2024"
[5] "mantiksal_deger" "notlar" "ogrenci_sayisi" "ortalama_not"
[9] "sayi" "sonuc" "x" "y"
Bir nesnenin yapısını incelemek için str() fonksiyonu çok kullanışlıdır.
Bir nesnenin sınıfını öğrenmek için class(), daha düşük seviyeli tipini öğrenmek için typeof() kullanılabilir.
Bazı eğitimlerde çalışma alanını tamamen temizlemek için rm(list = ls()) komutu kullanılır.
Bu komut faydalı olabilir; ancak dikkatli kullanılmalıdır. Çünkü bellekteki tüm nesneleri siler ve geri alınamaz.
rm(list = ls()) komutu çalışma alanındaki tüm nesneleri siler. Özellikle kaydedilmemiş ara sonuçlar varsa dikkatli kullanılmalıdır.
R öğrenirken en önemli becerilerden biri yardım sistemini kullanabilmektir. Her fonksiyonun nasıl çalıştığını ezberlemek mümkün değildir. Asıl önemli olan, ihtiyaç duyulduğunda doğru yardım sayfasına ulaşabilmektir.
Bir fonksiyon hakkında yardım almak için ? operatörü kullanılabilir.
# mean() fonksiyonunun yardım sayfasını açar.
?meanAynı işlem help() fonksiyonu ile de yapılabilir.
help(mean)Bir fonksiyonun argümanlarını hızlıca görmek için args() fonksiyonu kullanılabilir.
# mean() fonksiyonunun argüman yapısını gösterir.
args(mean)function (x, ...)
NULL
Fonksiyon örneklerini görmek için example() fonksiyonu kullanılabilir.
# mean() fonksiyonu için örnekleri çalıştırır.
example(mean)Bir fonksiyonun hangi paketten geldiğini veya genel dokümantasyonunu görmek için yardım sayfaları oldukça değerlidir. R öğrenirken yardım sistemini kullanmak, ezber yapmaktan çok daha sürdürülebilir bir yaklaşımdır.
Base R birçok temel fonksiyonla birlikte gelir. Ancak R’nin asıl gücü, kullanıcılar tarafından geliştirilen paket ekosisteminden gelir. Paketler, belirli görevler için hazırlanmış fonksiyon, veri ve dokümantasyon koleksiyonlarıdır.
Bir paketi bilgisayara kurmak için install.packages() kullanılır. Bu işlem genellikle bir kez yapılır.
# ggplot2 paketini bilgisayara kurar.
install.packages("ggplot2")Kurulu bir paketi mevcut R oturumunda kullanmak için library() fonksiyonu çağrılır.
Bu iki işlem karıştırılmamalıdır:
install.packages() paketi bilgisayara kurar.library() paketi o anki R oturumunda aktif hale getirir.Paket bir kez kurulmuş olsa bile, R her yeniden başlatıldığında ilgili paketi kullanmak için library() yeniden çalıştırılmalıdır.
Paket kurmak ile paketi çağırmak farklı işlemlerdir. Paketi bir kez kurarsınız; ancak her yeni R oturumunda kullanmak için library() ile çağırırsınız.
R temel matematiksel işlemler için doğrudan kullanılabilir. Bu nedenle R aynı zamanda güçlü bir hesap makinesi gibi de çalışır. Ancak R’nin matematiksel operatörleri yalnızca basit hesaplar için değil, veri vektörleri, matrisler ve modelleme işlemleri için de temel oluşturur.
Temel matematiksel operatörler şunlardır:
| Operatör | Anlamı |
|---|---|
+ |
toplama |
- |
çıkarma |
* |
çarpma |
/ |
bölme |
^ |
üs alma |
%% |
kalan bulma |
%/% |
tam bölme |
# Temel aritmetik işlemler
5 + 3[1] 8
10 - 4[1] 6
6 * 7[1] 42
20 / 5[1] 4
Üs alma işlemi için ^ kullanılır.
# 2 üzeri 3
2^3[1] 8
Kalan bulmak için %%, tam bölme için %/% kullanılır.
Bu iki operatör özellikle sayıların tek/çift olmasını kontrol etmek, gruplama yapmak veya döngüsel yapılar kurmak için kullanışlıdır.
# Bir sayının çift olup olmadığını kontrol edelim.
sayi <- 8
sayi %% 2 == 0[1] TRUE
R’de bazı matematiksel fonksiyonlar da hazır gelir.
# Kareköke alma
sqrt(25)[1] 5
# Mutlak değer
abs(-10)[1] 10
# Doğal logaritma
log(10)[1] 2.302585
# 10 tabanında logaritma
log10(100)[1] 2
# e üzeri x
exp(2)[1] 7.389056
Trigonometrik fonksiyonlarda dikkat edilmesi gereken önemli bir nokta vardır: R açıları derece değil, radyan cinsinden kabul eder.
# 45 derece, radyan cinsinden pi/4'e eşittir.
sin(pi / 4)[1] 0.7071068
# cos(0) değeri 1'dir.
cos(0)[1] 1
sin(45) ifadesi 45 derece anlamına gelmez. R trigonometrik fonksiyonlarda radyan kullanır. 45 derece için sin(pi / 4) yazılmalıdır.
Matematiksel işlemlerde işlem önceliği önemlidir. R, standart matematik kurallarına göre önce üs alma, sonra çarpma-bölme, sonra toplama-çıkarma işlemlerini yapar.
2 + 3 * 4[1] 14
Parantez kullanarak işlem sırası değiştirilebilir.
(2 + 3) * 4[1] 20
Okunabilirlik açısından karmaşık ifadelerde parantez kullanmak iyi bir alışkanlıktır. Parantez yalnızca sonucu değiştirmek için değil, kodu okuyan kişinin niyeti daha kolay anlaması için de kullanılabilir.
R’de mantıksal operatörler karşılaştırma yapmak için kullanılır. Bu operatörler TRUE veya FALSE sonucu üretir. Mantıksal ifadeler veri filtreleme, koşullu işlemler ve modelleme öncesi kontrollerde sık kullanılır.
Temel karşılaştırma operatörleri şunlardır:
| Operatör | Anlamı |
|---|---|
> |
büyüktür |
< |
küçüktür |
>= |
büyük eşittir |
<= |
küçük eşittir |
== |
eşittir |
!= |
eşit değildir |
5 > 3[1] TRUE
10 < 7[1] FALSE
8 == 8[1] TRUE
8 != 9[1] TRUE
Burada özellikle == operatörüne dikkat edilmelidir. Tek eşittir = atama veya fonksiyon argümanı belirtme için kullanılırken, == karşılaştırma yapmak için kullanılır.
Mantıksal operatörler vektörlerle birlikte kullanıldığında her eleman için ayrı sonuç üretir.
notlar <- c(45, 60, 80, 30)
# Her not için 50 ve üzeri olup olmadığını kontrol eder.
notlar >= 50[1] FALSE TRUE TRUE FALSE
Bu logical çıktı, veri seçmek için kullanılabilir.
# 50 ve üzeri notları seçelim.
notlar[notlar >= 50][1] 60 80
Birden fazla koşulu birlikte kullanmak için & ve | operatörleri kullanılır.
# 50 ile 80 arasındaki notları seçelim.
notlar[notlar >= 50 & notlar <= 80][1] 60 80
# 50'nin altında veya 80'in üstünde olan notları seçelim.
notlar[notlar < 50 | notlar > 80][1] 45 30
! operatörü mantıksal değerin tersini alır.
# 50 ve üzeri olmayan notlar
notlar[!(notlar >= 50)][1] 45 30
Bu bölümdeki mantıksal operatörler ilerleyen konularda if, ifelse(), veri filtreleme ve modelleme öncesi veri kontrolü gibi birçok yerde tekrar karşımıza çıkacaktır.
Şimdi bu bölümdeki bazı temel kavramları küçük bir örnek üzerinde birleştirelim.
num [1:6] 45 60 80 30 90 75
# Ortalama notu hesaplayalım.
ortalama_not <- mean(notlar)
ortalama_not[1] 63.33333
Geçme notunu 50 olarak kabul edelim.
# Her öğrencinin geçip geçmediğini logical olarak kontrol edelim.
notlar >= 50[1] FALSE TRUE TRUE FALSE TRUE TRUE
Geçen öğrencilerin notlarını seçelim.
# 50 ve üzeri notları seçer.
gecen_notlar <- notlar[notlar >= 50]
gecen_notlar[1] 60 80 90 75
Geçen öğrenci sayısını ve oranını hesaplayalım.
[1] 0.6666667
Bu küçük örnek, atama, nesne oluşturma, matematiksel işlem, mantıksal karşılaştırma ve vektörel seçimin birlikte nasıl kullanılabileceğini göstermektedir.
Bu bölümdeki konular temel görünse de, yeni başlayanların en sık yaptığı hatalar genellikle bu düzeyde ortaya çıkar.
İlk hata, büyük-küçük harf duyarlılığını gözden kaçırmaktır.
veri <- 10
# Bu nesne bulunamaz; çünkü Veri ile veri aynı değildir.
Veriİkinci hata, atama ve karşılaştırma operatörlerini karıştırmaktır.
x <- 10
# Karşılaştırma için == kullanılır.
x == 10[1] TRUE
Üçüncü hata, temel fonksiyon adlarını nesne adı olarak kullanmaktır.
# Önerilmez
mean <- 5
c <- 1:10Dördüncü hata, trigonometrik fonksiyonlarda derece-radyan farkını bilmemektir.
# 45 derece için doğru kullanım
sin(pi / 4)[1] 0.7071068
Beşinci hata, paket kurma ile paketi çağırma işlemlerini karıştırmaktır.
install.packages("dplyr") # bir kez kurulur
library(dplyr) # her oturumda çağrılırAşağıdaki egzersizler, bu bölümde ele alınan temel R kullanım becerilerini pekiştirmek için hazırlanmıştır.
getwd() ile öğreniniz.list.files() ile görüntüleyiniz.ogrenci_sayisi adlı bir nesne oluşturup içine 35 değerini atayınız.ortalama_not adlı bir nesne oluşturup içine 78.5 değerini atayınız.class() ile inceleyiniz.%% operatörüyle kontrol ediniz.?mean veya help(mean) kullanarak mean() fonksiyonunun yardım sayfasını açınız.args(mean) ile mean() fonksiyonunun argümanlarını inceleyiniz.sin(45) ve sin(pi / 4) ifadelerini çalıştırıp farkı yorumlayınız.# 1. Çalışma dizini
getwd()[1] "D:/Akademi ve Veri Bilimi/Data Science/Github/r-book-tr"
# 2. Çalışma dizinindeki dosyalar
list.files() [1] "_book" "_common.R"
[3] "_quarto.yml" "apply.qmd"
[5] "apply_files" "basics.qmd"
[7] "basics.rmarkdown" "basics_files"
[9] "basics2.qmd" "cover.png"
[11] "custom.scss" "data_analysis.qmd"
[13] "data_analysis_files" "data_frame_kitap_bolumu.qmd"
[15] "data_join.qmd" "data_manipulation.qmd"
[17] "data_preprocess.qmd" "data_preprocess_files"
[19] "data_transformation.qmd" "data_types.qmd"
[21] "datasets" "date_time.qmd"
[23] "functions.qmd" "ggplot2.qmd"
[25] "ggplot2_files" "if_else_for.qmd"
[27] "images" "import_export.qmd"
[29] "index.qmd" "index.tex"
[31] "intro.qmd" "LICENSE"
[33] "r-book-tr.Rproj" "r_about.qmd"
[35] "R_intro.qmd" "README.md"
[37] "regresyon.qmd" "regresyon_files"
[39] "statistics.qmd" "statistics_files"
[41] "strings.qmd" "styles.css"
[43] "summary.qmd" "temel_kullanim_ilk_komutlar.qmd"
[45] "tinytable_assets"
# 3. Nesne oluşturma
ogrenci_sayisi <- 35
ogrenci_sayisi[1] 35
# 4. Başka bir nesne oluşturma
ortalama_not <- 78.5
ortalama_not[1] 78.5
# 5. Nesne sınıflarını inceleme
class(ogrenci_sayisi)[1] "numeric"
class(ortalama_not)[1] "numeric"
# 6. Vektör oluşturma
sayilar <- c(10, 20, 30, 40)
sayilar[1] 10 20 30 40
# 7. Ortalama hesaplama
mean(sayilar)[1] 25
# 8. 25'ten büyük değerleri seçme
sayilar[sayilar > 25][1] 30 40
# 9. Çift sayı kontrolü
sayi <- 12
sayi %% 2 == 0[1] TRUE
# 10. Yardım sayfası
?mean
# Alternatif kullanım
help(mean)# 11. Fonksiyon argümanlarını inceleme
args(mean)function (x, ...)
NULL
Bu bölümde R ile çalışmaya başlamak için gerekli temel kavramlar ele alındı. Çalışma dizini, dosya yolları, atama operatörü, nesne isimlendirme, çalışma alanını inceleme, yardım alma, paket yükleme ve çağırma, matematiksel operatörler ve mantıksal operatörler bu temelin parçalarıdır.
R öğrenirken amaç yalnızca komutları ezberlemek olmamalıdır. Daha önemli olan, bu komutların hangi problemi çözdüğünü ve hangi durumlarda dikkatli kullanılmaları gerektiğini anlamaktır. Bu bölümde verilen kavramlar, ilerleyen bölümlerde veri tipleri, veri yapıları, fonksiyonlar, kontrol ifadeleri ve veri analizi konularının temelini oluşturacaktır.