Bölüm 3 Sorular ve Cevaplar

Soru #1 İsim, vize, final notlarından “bilgi” adında bir liste nesne oluşturunuz (Bu sorudaki işlemleri liste elemanları ile yapınız, vektör nesnesi kullanmayınız.Bunun için çalışma alanında sadece “bilgi” nesnesi kalmalıdır.).

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)
bilgi <- list(isim,vize,final)
rm(isim,vize,final)
#1a Listenin yapısını inceleyiniz
str(bilgi)
## List of 3
##  $ : chr [1:10] "Ali" "Defne" "Meltem" "Semih" ...
##  $ : num [1:10] 60 70 50 80 65 70 85 70 92 80
##  $ : num [1:10] 70 65 50 45 67 75 80 85 95 85
#1b Listedeki bileşenleri sırası ile “öğrenci”, “vize_not” ve “final_not” adlarını veriniz
names(bilgi) <- c("öğrenci","vize_not","final_not")
#1c “bilgi” listesine final puanının %60’ını ve vize puanının %40’ını alarak hesapladığınız geçme notlarını “not” adıyla ekleyiniz.
bilgi$not <- bilgi$final_not*0.6 + bilgi$vize_not*0.40
#1d Listenin “vize_not” bileşenini yazdırınız.
bilgi$vize_not
##  [1] 60 70 50 80 65 70 85 70 92 80
#1e Listenin “final_not” bileşenini yazdırınız.
bilgi$final_not
##  [1] 70 65 50 45 67 75 80 85 95 85
#1f Geçme notu en yüksek olan öğrencinin notunu 100 olarak değiştiriniz.
which(bilgi$not==(max(bilgi$not)))
## [1] 9
bilgi$not <-100
  • Geçme notu en yüksek olan 9. sıradaki Utku’nun 95 olan notu 100 olarak değişti.

#2 İsim, vize ve final değişkenlerine sahip “test” adında bir veriseti oluşturunuz (Bu sorudaki işlemleri veri seti elemanlarıyla yapınız, vektör nesnesi kullanmayınız. Bunun için çalışma alanında sadece “test” nesnesi kalmalıdır.).

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)
test <- data.frame(isim,vize,final)
rm(isim,vize,final)
#2a Veri setini ilgili fonksiyonu kullanarak komut dosyasının yan sekmesinde tablo şeklinde görüntüleyiniz.
View(test)
print(test)
##      isim vize final
## 1     Ali   60    70
## 2   Defne   70    65
## 3  Meltem   50    50
## 4   Semih   80    45
## 5   Sevda   65    67
## 6   Gizem   70    75
## 7    Emre   85    80
## 8  Zeynep   70    85
## 9    Utku   92    95
## 10  Beril   80    85
  • View(test) konutu ile yanda sekme açıldı ama markdownda görünmesi için print() i kullandım.
#2b Veri setine final puanının %60’ını ve vize puanının %40’ını alarak hesapladığınız geçme notlarını “not” adıyla ekleyiniz.
test$not <- test$vize*0.6 + test$final*0.40
#2c Veri setinde final notu 70’ten büyük olan gözlemlerden “test_gecti” adlı yeni bir veri seti oluşturunuz.
test_gecti <- subset(test,not>70)
#2d “test_gecti” nesnesinin boyutlarını yazdırınız.
dim(test_gecti)
## [1] 5 4
#2e Tek bir komut satırıyla “test_gecti” nesnesinin sadece vize ve final notlarının betimsek istatistiklerini yazdırınız.
summary(test_gecti[,-1])
##       vize          final         not       
##  Min.   :70.0   Min.   :75   Min.   :72.00  
##  1st Qu.:70.0   1st Qu.:80   1st Qu.:76.00  
##  Median :80.0   Median :85   Median :82.00  
##  Mean   :79.4   Mean   :84   Mean   :81.24  
##  3rd Qu.:85.0   3rd Qu.:85   3rd Qu.:83.00  
##  Max.   :92.0   Max.   :95   Max.   :93.20
#2f “test_gecti” nesnesini not değişkenine göre büyükten küçüğe sıralayınız.
test_gecti[order(test_gecti$not),]
##      isim vize final  not
## 6   Gizem   70    75 72.0
## 8  Zeynep   70    85 76.0
## 10  Beril   80    85 82.0
## 7    Emre   85    80 83.0
## 9    Utku   92    95 93.2