Fonksiyonlar

Burçak Aydın

Kasım, 2021

Bonus #1a

Öğrenci vektorunu ilk sütun olduğu bir veri seti olusturunuz. veri setinizin ikinci sütunu ise öğrencilerin ara sinav puanları olsun. Bu değişkeni sample fonkisyonu ile 0-100 arasında olacak şekilde oluşturabilirsiniz.

bonus1 <- data.frame(
  ogrenci=c("Ali","Ayşe","Selin","Serdar","Muge","Mete","Nehir","Nuri","Burcuk","Burak"),
  arasinav = sample(0:100,10)) 

head(bonus1)
##   ogrenci arasinav
## 1     Ali       97
## 2    Ayşe       22
## 3   Selin       54
## 4  Serdar       56
## 5    Muge       28
## 6    Mete       90

Bonus #1b

Olusturdugunuz veri setinden ogrencilerin, ara sinav puanlarina göre ağırlandırarak dörder kişilik gruplar seçecek bir fonkisyon yazınız. Fonksiyonunuz kullanıncının veri seti haricinde bir tür girmesi durumunda ve girilen veri setinin ikiden fazla sütun içermesi durumunda çalışmayı durdursun.

secim <- function(veri, n=4,w){
  assert(is.data.frame(veri)==T, ncol(veri)<=2)
  sample_n(veri,n, weight = w)
}
# secim(bonus1,w=bonus1$arasinav)
# # veri data frame değil, sütun sayısı 2

Bonus 2

Geometrik ortalamanın farklı hesaplama yolları bulunmaktadır.

Logaritma değerlerine dayalı olarak hesaplandığında, geometrik ortalama, gözlem değerlerinin logaritmalarının aritmetik ortalamasıdır.

Bir x vektorunun geometrik ortalamaasını logartimalara dayalı olarak hesaplayan bir fonsiyon yazıp, x <- 1:100 için çalıştırınız.

log_ort <-  function(x){
  mean(log(x))
}
x <-  1:100
log_ort(x) 
## [1] 3.637394