Nesne Oluşturma

  1. vektör (vector)
  2. Karakter (character)
  3. Sayısal (numeric)
  4. tam sayı (integer)
  5. ondalıklı sayı (double)
  6. karmaşık sayı (complex)
  7. Mantıksal (logical)
  8. Faktör (factor)
  9. liste (list)
  10. matris (matrix)
  11. veri seti (data.frame)
  12. dizi (array)
  13. Fonksiyon (function)
# çok elemanlı vektörler
x <- 1:5 
y <- c(1,2)
length(x)/ length(y)
## [1] 2.5
x+y
## Warning in x + y: longer object length is not a multiple of shorter object
## length
## [1] 2 4 4 6 6
x <- 1:10
sum(x)
## [1] 55
prod(x)
## [1] 3628800
sort(x)
##  [1]  1  2  3  4  5  6  7  8  9 10
rev(x)
##  [1] 10  9  8  7  6  5  4  3  2  1
sd(x)
## [1] 3.02765
max(x)
## [1] 10
min(x)
## [1] 1
which.max(x)
## [1] 10
which.min(x)
## [1] 1
ad  <-  c("Ali","Elif","Su","Deniz","Aras",
          "Berk","Can","Ece","Efe","Arda")
ad[5]
## [1] "Aras"
ad[10]
## [1] "Arda"
ad[c(1,5,8)]
## [1] "Ali"  "Aras" "Ece"
ad[1]
## [1] "Ali"
ad [c(1,4,6)]
## [1] "Ali"   "Deniz" "Berk"
ad [10]
## [1] "Arda"
ad[length(ad)] # adın 10. elemanını yazıdırır. ad nesnesinin içinde fonksiyon yazdırma
## [1] "Arda"
ad_1 <- ad[-1]
 ad [-2]
## [1] "Ali"   "Su"    "Deniz" "Aras"  "Berk"  "Can"   "Ece"   "Efe"   "Arda"
ad [-c(1,5)]
## [1] "Elif"  "Su"    "Deniz" "Berk"  "Can"   "Ece"   "Efe"   "Arda"
(ad_2 <- ad[-c(1,4,6)])
## [1] "Elif" "Su"   "Aras" "Can"  "Ece"  "Efe"  "Arda"
ad[c(8,9,10)]
## [1] "Ece"  "Efe"  "Arda"
ad[length(ad)-2 : length(ad)]
## [1] "Ece"   "Can"   "Berk"  "Aras"  "Deniz" "Su"    "Elif"  "Ali"
ad
##  [1] "Ali"   "Elif"  "Su"    "Deniz" "Aras"  "Berk"  "Can"   "Ece"   "Efe"  
## [10] "Arda"
ad[11] <- "esma"
ad
##  [1] "Ali"   "Elif"  "Su"    "Deniz" "Aras"  "Berk"  "Can"   "Ece"   "Efe"  
## [10] "Arda"  "esma"
ad[c(12,13)] <- c("demet,", "samet")
ad
##  [1] "Ali"    "Elif"   "Su"     "Deniz"  "Aras"   "Berk"   "Can"    "Ece"   
##  [9] "Efe"    "Arda"   "esma"   "demet," "samet"
ad <- append(ad,"aslı",4) #dosya yazdırırken , dosya yazma append= TREU kullanışlı

ad
##  [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
names(boy) <- ad 
names(boy)
##  [1] "Ali"   "Elif"  "Su"    "Deniz" "Aras"  "Berk"  "Can"   "Ece"   "Efe"  
## [10] "Arda"
boy
##   Ali  Elif    Su Deniz  Aras  Berk   Can   Ece   Efe  Arda 
##   160   165   170   155   167   162   169   158   160   164
boy[1]
## Ali 
## 160
boy["Ali"]
## Ali 
## 160
boy [c("Ali","Deniz")]
##   Ali Deniz 
##   160   155
boy <- unname(boy)

seq()
## [1] 1
?seq
## starting httpd help server ... done
1:10
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(from=1, to=10, by=1)
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(1,10,1)
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(1, to=3,by=0.4)
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
seq (1,3,0.4)
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
seq(from=1,to=3,length.out=6)
## [1] 1.0 1.4 1.8 2.2 2.6 3.0
#rep örüntü halinde veriler oluşturma

rep(c(3,4,5),3)
## [1] 3 4 5 3 4 5 3 4 5
rep(0:9,times=3) #rakamların tamamı üç kere tekrar ettirilmesi
##  [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
?rep()
a <- c(3,5,7)
rep(a,each=3) #her birini 2 kere tekrar etme each
## [1] 3 3 3 5 5 5 7 7 7
rep (a, each=3, times=3)
##  [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
rep(a,each=3,times=2)
##  [1] 3 3 3 5 5 5 7 7 7 3 3 3 5 5 5 7 7 7
rep(1:4,c(2,2,2,2))
## [1] 1 1 2 2 3 3 4 4
rep(1:3,1:3)  
## [1] 1 2 2 3 3 3
paste ("test", 1:10)
##  [1] "test 1"  "test 2"  "test 3"  "test 4"  "test 5"  "test 6"  "test 7" 
##  [8] "test 8"  "test 9"  "test 10"
paste ("test",1:10,sep="")  
##  [1] "test1"  "test2"  "test3"  "test4"  "test5"  "test6"  "test7"  "test8" 
##  [9] "test9"  "test10"
paste ("test",1:10,sep="-") 
##  [1] "test-1"  "test-2"  "test-3"  "test-4"  "test-5"  "test-6"  "test-7" 
##  [8] "test-8"  "test-9"  "test-10"
paste ("test",1:10,sep="...") 
##  [1] "test...1"  "test...2"  "test...3"  "test...4"  "test...5"  "test...6" 
##  [7] "test...7"  "test...8"  "test...9"  "test...10"
paste("test",c("A","B","C","D",1:4))
## [1] "test A" "test B" "test C" "test D" "test 1" "test 2" "test 3" "test 4"
sample(0:100,5)
## [1] 28 82 58 99 65
runif(10,0,5) #tek biçimli veri üretme
##  [1] 0.85399407 0.47458640 3.69579677 3.94141466 1.76947179 3.15160479
##  [7] 0.09182450 0.09029802 2.36984833 1.37817751
hist(runif(100,0,5))

hist(rnorm(100,0,1))

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"
#karekter nesneler
substr("YILMAZ", 1,3)
## [1] "YIL"
substring("YILMAZ", 1:2 , 1:6)
## [1] "Y"     "I"     "YIL"   "ILM"   "YILMA" "ILMAZ"
#mantıksal nesneler

mantiksal1 <-TRUE
typeof(mantiksal1)
## [1] "logical"
sonuc <- 4<5
typeof(sonuc)
## [1] "logical"
# as. fonksiyonları ile nesne türleri arasında değişiklik yapılır
as.integer(pi)
## [1] 3
ad_soyad <- c("Ayse-Sel",
              "Can-Yucel","Cem-Togay","Banu-Cift")


 ogrenci <- "ogrenci"
ogrenci<- paste(ogrenci, 1:5 , sep="")

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

karakter <- "olcme";typeof(karakter)
## [1] "character"
# karakter nesnesi oluşturulması
ad <- "zeynep"
soyad <- "su"
paste(ad,soyad)
## [1] "zeynep su"

##Nesne Türleri Sorgulama

x<- 3.14; class(x)
## [1] "numeric"
y <- 2L; typeof(y); class(y) # satir içi kod ayırma
## [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
max(gecme_notu)
## [1] 122.5
mean(gecme_notu)
## [1] 100

#SORU2

my_func <- function(n){ n*(n+1)/2
}
my_func(5)
## [1] 15
length(1:5)
## [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
final[c("Ali","Beril")]
##   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
summary(final)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   45.00   65.50   72.50   71.70   83.75   95.00
#vize ve final notu 50'nin altında olna öğrenciler
vize <50
##    Ali  Defne Meltem  Semih  Sevda  Gizem   Emre Zeynep   Utku  Beril 
##  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE
final <50
##    Ali  Defne Meltem  Semih  Sevda  Gizem   Emre Zeynep   Utku  Beril 
##  FALSE  FALSE  FALSE   TRUE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE
#Vize ve final notu 90'nın üzeri olan Öğrenciler  
vize > 90
##    Ali  Defne Meltem  Semih  Sevda  Gizem   Emre Zeynep   Utku  Beril 
##  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE   TRUE  FALSE
final > 90
##    Ali  Defne Meltem  Semih  Sevda  Gizem   Emre Zeynep   Utku  Beril 
##  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE  FALSE   TRUE  FALSE
(final_yüksek <- final > vize)
##    Ali  Defne Meltem  Semih  Sevda  Gizem   Emre Zeynep   Utku  Beril 
##   TRUE  FALSE  FALSE  FALSE   TRUE   TRUE  FALSE   TRUE   TRUE   TRUE
final_y <- final[final >= 50]

vize_y <- vize[vize >= 50]

length(vize_y)
## [1] 10
length(final_y)
## [1] 9
isim[which.max(final)]
## [1] "Utku"
isim[which.min(final)]
## [1] "Semih"
vize_toplam <- sum(vize)
final_toplam <- sum(final)

not <- ((vize*40)/100) + ((final*60)/100)
not
##    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
mean(not); median(not); sd(not); var(not); min(not); max(not)
## [1] 71.9
## [1] 70
## [1] 12.88315
## [1] 165.9756
## [1] 50
## [1] 93.8
not_s <- sort(not)

str(not)
##  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" ...
attributes(not)
## $names
##  [1] "Ali"    "Defne"  "Meltem" "Semih"  "Sevda"  "Gizem"  "Emre"   "Zeynep"
##  [9] "Utku"   "Beril"
not[mean(not) > not]
##    Ali  Defne Meltem  Semih  Sevda 
##   66.0   67.0   50.0   59.0   66.2
not[66 == not]
## Ali 
##  66
not[72 == not]
## named numeric(0)