Nesne Oluşturma
R lineer cebir temelli bir programlama dilidir.
Vektörler tek boyutludur.
R’da vektörler birleştirmek (combine/concatenate) anlamına gelen c() fonksiyonu ile oluşturulmaktadır.
R da veriler bir araya gelerek veri yapılarını oluşturur.
- vektör (vector)
- Karakter (character)
- Sayısal (numeric)
- tam sayı (integer)
- ondalıklı sayı (double)
- karmaşık sayı (complex)
- Mantıksal (logical)
- Faktör (factor)
- liste (list)
- matris (matrix)
- veri seti (data.frame)
- dizi (array)
- Fonksiyon (function)
## [1] 2.5
## Warning in x + y: longer object length is not a multiple of shorter object
## length
## [1] 2 4 4 6 6
## [1] 55
## [1] 3628800
## [1] 1 2 3 4 5 6 7 8 9 10
## [1] 10 9 8 7 6 5 4 3 2 1
## [1] 3.02765
## [1] 10
## [1] 1
## [1] 10
## [1] 1
## [1] "Aras"
## [1] "Arda"
## [1] "Ali" "Aras" "Ece"
## [1] "Ali"
## [1] "Ali" "Deniz" "Berk"
## [1] "Arda"
## [1] "Arda"
## [1] "Ali" "Su" "Deniz" "Aras" "Berk" "Can" "Ece" "Efe" "Arda"
## [1] "Elif" "Su" "Deniz" "Berk" "Can" "Ece" "Efe" "Arda"
## [1] "Elif" "Su" "Aras" "Can" "Ece" "Efe" "Arda"
## [1] "Ece" "Efe" "Arda"
## [1] "Ece" "Can" "Berk" "Aras" "Deniz" "Su" "Elif" "Ali"
## [1] "Ali" "Elif" "Su" "Deniz" "Aras" "Berk" "Can" "Ece" "Efe"
## [10] "Arda"
## [1] "Ali" "Elif" "Su" "Deniz" "Aras" "Berk" "Can" "Ece" "Efe"
## [10] "Arda" "esma"
## [1] "Ali" "Elif" "Su" "Deniz" "Aras" "Berk" "Can" "Ece"
## [9] "Efe" "Arda" "esma" "demet," "samet"
## [1] "Ali" "Elif" "Su" "Deniz" "aslı" "Aras" "Berk" "Can"
## [9] "Ece" "Efe" "Arda" "esma" "demet," "samet"
#iki farklı kodu ; ile ayırabiliriz
ad <- c("Ali","Elif","Su","Deniz","Aras",
"Berk","Can","Ece","Efe","Arda")
boy <- c(160,165,170,155,167,162,169,158,160,164)
kilo <-c(50,55,57,50,48,65,58,62,45,47)
names(boy)## NULL
## [1] "Ali" "Elif" "Su" "Deniz" "Aras" "Berk" "Can" "Ece" "Efe"
## [10] "Arda"
## Ali Elif Su Deniz Aras Berk Can Ece Efe Arda
## 160 165 170 155 167 162 169 158 160 164
## Ali
## 160
## Ali
## 160
## Ali Deniz
## 160 155
## [1] 1
## starting httpd help server ... done
## [1] 1 2 3 4 5 6 7 8 9 10
## [1] 1 2 3 4 5 6 7 8 9 10
## [1] 1 2 3 4 5 6 7 8 9 10
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
## [1] 3 4 5 3 4 5 3 4 5
## [1] 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
## [1] 3 3 3 5 5 5 7 7 7
## [1] 3 3 3 5 5 5 7 7 7 3 3 3 5 5 5 7 7 7 3 3 3 5 5 5 7 7 7
## [1] 3 3 3 5 5 5 7 7 7 3 3 3 5 5 5 7 7 7
## [1] 1 1 2 2 3 3 4 4
## [1] 1 2 2 3 3 3
## [1] "test 1" "test 2" "test 3" "test 4" "test 5" "test 6" "test 7"
## [8] "test 8" "test 9" "test 10"
## [1] "test1" "test2" "test3" "test4" "test5" "test6" "test7" "test8"
## [9] "test9" "test10"
## [1] "test-1" "test-2" "test-3" "test-4" "test-5" "test-6" "test-7"
## [8] "test-8" "test-9" "test-10"
## [1] "test...1" "test...2" "test...3" "test...4" "test...5" "test...6"
## [7] "test...7" "test...8" "test...9" "test...10"
## [1] "test A" "test B" "test C" "test D" "test 1" "test 2" "test 3" "test 4"
## [1] 28 82 58 99 65
## [1] 0.85399407 0.47458640 3.69579677 3.94141466 1.76947179 3.15160479
## [7] 0.09182450 0.09029802 2.36984833 1.37817751
ad <- c("Ali","Elif","Su","Deniz","Aras",
"Berk","Can","Ece","Efe","Arda")
boy <- c(160,165,170,155,167,162,169,158,160,164)
kilo <- c(55,55,57,50,48,65,58,62,45,47)
ALISTIRMA<- boy_m <- boy/100
BKI <- kilo / (boy_m*boy_m)
round(mean(BKI),2)## [1] 20.44
BKI <- sum(BKI)
ad <- "su"
soyad <- "sevim"
paste(ad,soyad, sep="") #sep 5 elemanlı yeni bir eleman oluşuyor## [1] "susevim"
## [1] "YIL"
## [1] "Y" "I" "YIL" "ILM" "YILMA" "ILMAZ"
## [1] "logical"
## [1] "logical"
## [1] 3
Alıştırma
#BKI vücut ağırlığınızın metre cinsinden boy uzunluğunun karesine bölünmesi ile elde edilmektedir. Her bir bireye ait BKI değerini hesaplayınız. BKI değerlerinin ortalaması kaçtır (iki ondalığa yuvarlayınız)?
ad <- c("Ali","Elif","Su","Deniz","Aras",
"Berk","Can","Ece","Efe","Arda")
boy <- c(160,165,170,155,167,162,169,158,160,164)
kilo <- c(55,55,57,50,48,65,58,62,45,47)
# BKI hesaplanması
boy_m <- boy/100
BKI <- kilo/( boy_m * boy_m)
round(mean(BKI),2)## [1] 20.44
#Karakter Nesneler
## [1] "character"
## [1] "zeynep su"
##Nesne Türleri Sorgulama
- Nesne türleri sorgulamak için ise class() ya da mode() fonksiyonları kullanabilir. Ancak bir nesne türüne ait olup olmadığını sorgulamak için ise is.*() fonksiyonları kullanılır.
## [1] "numeric"
- Sayısal nesnelerin türü için typeof() fonksiyonu da kullanılabilir.
## [1] "integer"
## [1] "integer"
ÖDEV
#SORU1
ogrenci <- "ogrenci"
ogrenci<- paste(ogrenci, 1:5 , sep="")
vize <- c(50,55,60,70,80)
final <- c(45,65,85,90,85)
gecme_notu <- vize + final /2
gecme_notu## [1] 72.5 87.5 102.5 115.0 122.5
medyan <- median(gecme_notu)
sd <- round(sd(gecme_notu),digits = 2)
varyans <- round(var(gecme_notu),digits = 2)
min(gecme_notu)## [1] 72.5
## [1] 122.5
## [1] 100
#SORU2
## [1] 15
## [1] 5
#SORU3
toplam <- function() {
# Kullanıcıdan giriş al
girdi <- readline("Kaça kadar olan sayıların toplamı hesaplansın: ")
# 1'den n'e kadar olan sayıların toplamını hesapla
sonuc <- sum(1:n)
# Sonucu ekrana yazdır virgüllerle ayrılmış ifadeleri yazdırır
cat("1'den", n, "'e kadar olan sayıların toplamı:", sonuc, "\n")
}#TURCADEMY ALIŞTIRMALAR
isim <- c("Ali","Defne","Meltem","Semih","Sevda","Gizem","Emre","Zeynep","Utku","Beril")
vize <- c(60,70,50,80,65,70,85,70,92,80)
final <- c(70,65,50,45,67,75,80,85,95,85)
names(vize) <- isim
names(final) <- isim
vize[c("Ali","Beril")]## Ali Beril
## 60 80
## Ali Beril
## 70 85
vize_ortalama <- mean(vize)
vize_sd <- sd(vize)
final_ortalama <- mean(final)
final_sd <- sd(final)
summary(vize)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 50.00 66.25 70.00 72.20 80.00 92.00
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 45.00 65.50 72.50 71.70 83.75 95.00
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE
## [1] 10
## [1] 9
## [1] "Utku"
## [1] "Semih"
## Ali Defne Meltem Semih Sevda Gizem Emre Zeynep Utku Beril
## 66.0 67.0 50.0 59.0 66.2 73.0 82.0 79.0 93.8 83.0
## [1] 71.9
## [1] 70
## [1] 12.88315
## [1] 165.9756
## [1] 50
## [1] 93.8
## Named num [1:10] 66 67 50 59 66.2 73 82 79 93.8 83
## - attr(*, "names")= chr [1:10] "Ali" "Defne" "Meltem" "Semih" ...
## $names
## [1] "Ali" "Defne" "Meltem" "Semih" "Sevda" "Gizem" "Emre" "Zeynep"
## [9] "Utku" "Beril"
## Ali Defne Meltem Semih Sevda
## 66.0 67.0 50.0 59.0 66.2
## Ali
## 66
## named numeric(0)