Dr. Kubra Atalay Kabasakal
Kasim 2021
R nesne (object) yonelimli bir programlama dilidir.
Karakter (character)
Sayisal (numeric)
Mantiksal (logical)
Faktor (factor)
Liste (list)
Fonksiyon (function)
# tamsayi nesnesi olusturulmasi
tamsayi <- 2L
# tamsayi nesnesinin turunun sorgulanmasi
typeof(tamsayi)## [1] "integer"
## [1] 2
# ondaliksayi nesnesinin olusturulmasi
ondaliksayi <- 2.5
# ondaliksayi nesnesinin turunun sorgulanmasi
typeof(ondaliksayi)## [1] "double"
## [1] 2.5
# komplekssayi nesnesinin olusturulmasi
komplekssayi <- 5+2i
# komplekssayi nesnesinin turunun sorgulanmasi
typeof(komplekssayi)## [1] "complex"
## [1] 5+2i
## [1] 2
## [1] 0
## [1] 1
## [1] 1
# cok elemanli vektorler
x <- c(3,4,5)
y <- c(1,2,3)
# vektor eleman sayilari ayni oldugunda
length(x);length(y)## [1] 3
## [1] 3
## [1] 4 6 8
## [1] 2 2 2
## [1] 3 8 15
## [1] 3.000000 2.000000 1.666667
# cok elemanli vektorler
x <- 1:9
y <- c(1,2,3)
# vektor eleman sayilari farkli oldugunda
length(x)/length(y)## [1] 3
## [1] 2 4 6 5 7 9 8 10 12
## [1] 0 0 0 3 3 3 6 6 6
## [1] 1 4 9 4 10 18 7 16 27
## [1] 1.0 1.0 1.0 4.0 2.5 2.0 7.0 4.0 3.0
# cok elemanli vektorler
x <- 1:5
y <- c(1,2)
# vektor eleman sayilari farkli oldugunda
length(x)/length(y)## [1] 2.5
## [1] 2 4 4 6 6
## [1] 0 0 2 2 4
## [1] 1 4 3 8 5
## [1] 1 1 3 2 5
# karakter nesnesi olusturulmasi
karakter <- "olcme"
# Olusturulan nesnenin turunun sorgulanmasi
typeof(karakter)## [1] "character"
## [1] "olcme"
# karakter nesnesi olusturulmasi
ad <- "Su"
soyad <- "Sevim"
# paste fonksiyonu ile iki nesnenin birlestirilmesi
paste(ad,soyad) # iki nesneyi arada bosluk birakarak birlestirir.## [1] "Su Sevim"
## [1] "SuSevim"
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
## [20] "t" "u" "v" "w" "x" "y" "z"
## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
## [20] "T" "U" "V" "W" "X" "Y" "Z"
## [1] "January" "February" "March" "April" "May" "June"
## [7] "July" "August" "September" "October" "November" "December"
## [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
Nesne birlestirme fonksiyonlarindan en sik kullanini paste()
paste() fonksiyonunun temel argumanlari ise sep ve collapse’dir.
# paste fonksiyonu ile karakter nesneler birlestirilebilir.
(alfabe1 <- paste(letters,1:26,sep="_"))## [1] "a_1" "b_2" "c_3" "d_4" "e_5" "f_6" "g_7" "h_8" "i_9" "j_10"
## [11] "k_11" "l_12" "m_13" "n_14" "o_15" "p_16" "q_17" "r_18" "s_19" "t_20"
## [21] "u_21" "v_22" "w_23" "x_24" "y_25" "z_26"
## [1] "a_1 b_2 c_3 d_4 e_5 f_6 g_7 h_8 i_9 j_10 k_11 l_12 m_13 n_14 o_15 p_16 q_17 r_18 s_19 t_20 u_21 v_22 w_23 x_24 y_25 z_26"
## [1] 26
## [1] 1
paste() fonksiyonun yardim sayfasini inceleyiz.
Siz de farkli yollara 29 harfli alfabemizi olusturmaya calisiniz.
Asagidaki ciktiyi olusturacak olan kodu olusturunuz.
## [1] "1. maddenin guclugu: 0.84" "2. maddenin guclugu: 0.69"
## [3] "3. maddenin guclugu: 0.59" "4. maddenin guclugu: 0.95"
## [5] "5. maddenin guclugu: 0.53" "6. maddenin guclugu: 0.98"
## [7] "7. maddenin guclugu: 0.28" "8. maddenin guclugu: 0.22"
## [9] "9. maddenin guclugu: 0.92" "10. maddenin guclugu: 0.51"
Buyuk Kucuk Harf Duzenleme Fonksiyonlari toupper() ve tolower()
## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
## [20] "T" "U" "V" "W" "X" "Y" "Z"
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
## [20] "t" "u" "v" "w" "x" "y" "z"
casefold() fonksiyonu da upper argumani ile birlikte kullanilabilir.
## [1] "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec"
## [1] "JAN" "FEB" "MAR" "APR" "MAY" "JUN" "JUL" "AUG" "SEP" "OCT" "NOV" "DEC"
Karakter nesnelerin kac harften olustugu nchar() fonskiyonu ile belirlenebilir.
## [1] 7 8 5 5 3 4 4 6 9 7 8 8
Karakter nesneleri belli bir yerden bolmek icin substr() ve substring() fonksiyonlari kullanilabilir.
## [1] "YIL"
## [1] "Y" "I" "L" "M" "A" "Z"
## [1] "ILM" "ILMA" "ILMAZ"
Karakter nesnelerde daha daha fazlası icin asagidaki fonksiyonları inceleyebilirsiniz.
strsplit() noquote() cat()
grep() duplicated() agrep()
# mantiksal1 ve mantiksal2 nesnelerinin olusturulmasi
mantiksal1 <-TRUE
mantiksal2 <-T
# Olusturulan nesnelerin turunun sorgulanmasi
typeof(mantiksal1)## [1] "logical"
## [1] "logical"
## [1] TRUE
## [1] TRUE
Mantiksal operatorler programlamanın temeli ve vazgeçilmezidir.
## [1] TRUE
## [1] FALSE
## [1] TRUE
## [1] FALSE
Mantiksal operatorlerle yapilan sinamalar ile mantiksal nesneler olusturulur.
## [1] "logical"
Nesne turleri arasindaki degisim uygunluk durumuna gore as.*()fonksiyonları ile saglanir.
## [1] 3.14
## [1] 3
## [1] 3
## [1] NA
## [1] "TRUE"
## [1] "10"
## [1] 1
Nesne turleri sorgulamak icin ise class() ya da mode() fonksiyonlari kullanabilir. Ancak bir nesne turune ait olup olmadigini sorgulamak icin ise is.*() fonksiyonlari kullanilir.
## [1] "numeric"
## [1] TRUE
## [1] FALSE
Sayisal nesnelerin turu için typeof() fonksiyonu da kullanılabilir.
## [1] "integer"
## [1] "integer"
## [1] TRUE
## [1] FALSE
Elinizde bulunan asagida yer alan ad_soyad nesnesini kullanarak asagidaki ciktiyi olusturmaya calisiniz.
## [1] "Ayse-Sel" "Can-Yucel" "Cem-Togay" "Banu-Cift"
## [1] "Ayse" "Can" "Cem" "Banu"
## [1] "Sel" "Yucel" "Togay" "Cift"
Kitap Bölüm 2 1. Soruyu tamamlayiniz.
swirl package - learn R in R (Programming ilk 6 modul)
letters ve LETTERS nesnelerini kullanarak Türkçe alfabe olusturmayı deneyiniz.
NOT: Ders2_uygulama dosyasi uzerinde calisiniz.
Atar, B., Atalay Kabasakal, K, Ünsal Özberk, E. B., Özberk, E. H. Ve Kıbrıslıoğlu Uysal, N. (2020). R ile Veri Analizi ve Psikometri Uygulamaları, Editör, Pegem Akademi, Ankara.