1 Fonksiyonlara Giriş

Fonksiyonların da kendi sınıfları vardır

f <- function() {
        ## Bu boş bir fonksiyondur
}
## Fonksiyonların kendi sınıfları vardır
class(f)  
## [1] "function"
f <- function() {
        cat("Merhaba!\n")
}
f()
## Merhaba!
f <- function(num) {
        for(i in seq_len(num)) {
                cat("Merhaba!\n")
        }
}
f(3)
## Merhaba!
## Merhaba!
## Merhaba!

Sıradaki fonksiyon konsola yazdırılan toplam karakter sayısını döndürür.

f <- function(tekrar) {
        Merhaba <- "Merhaba!"
        for(i in seq_len(tekrar)) {
                cat(Merhaba,"\n")
        }
        chars <- nchar(Merhaba) * tekrar
        chars
}
f(3)
## Merhaba! 
## Merhaba! 
## Merhaba!
## [1] 24
f <- function(tekrar) {
        Merhaba <- "Merhaba!"
        for(i in seq_len(tekrar)) {
                cat(Merhaba,"\n")
        }
        chars <- nchar(Merhaba) * tekrar
        chars
        return(list(Merhaba,chars))
}
fonksiyonciktisi <- f(3)
## Merhaba! 
## Merhaba! 
## Merhaba!
fonksiyonciktisi
## [[1]]
## [1] "Merhaba!"
## 
## [[2]]
## [1] 24
library(CTT)
x<-data.frame(matrix(c(0,0,0,0,0,
                        0,0,0,0,0,
                        0,0,0,0,1,
                        0,0,0,1,1,
                        0,0,1,1,1,
                        0,1,1,1,1,
                        1,1,1,1,1,
                        1,0,1,1,1,
                        0,0,0,1,1,
                        0,1,1,1,1),nrow=10,ncol=5,byrow=TRUE,
                        dimnames=list(c(paste("P",c(1:10),sep="")),c(paste("I",c(1:5),sep="")))))
itemAnalysis(x)
## 
##  Number of Items 
##  5 
## 
##  Number of Examinees 
##  10 
## 
##  Coefficient Alpha 
##  0.816
iA <- itemAnalysis(x, hardFlag=.25, pBisFlag=.15)
iA$itemReport

2 Argüman Eşleştirme

2.1 Çoklu Veri Seti Oluşturma Alıştırmansı

fonksiyon_adi <- function(sayi=1,satir=c(5),sutun=c(10)){

    df <- data.frame(matrix(0,nrow=satir, ncol=sutun))
     writexl::write_xlsx(df,"veri_1.xlsx")
}
fonksiyon_adi(sayi=1,satir=c(5),sutun=c(10))

2.2 Döngüsel hale getirme

fonksiyon_adi <-function(sayi=3,satir=c(5,5,5),sutun=c(10,10,10)){
   
  df_list <- list() ## her bir veri setinin atanacağı yeni nesne
    
    for( i in 1:sayi){
    df_list[[i]] <- data.frame(matrix(0,nrow=satir[i], ncol=sutun[i])) # veri seti istenilen ozelliklerde olusturulur
     for(j in 1:sutun[i]){
     df_list[[i]][,j] <- round(rnorm(satir[i],0,1),2) #  her bir veri setinin her bir sütunu standart normal dağılıma uygun uretilir
           writexl::write_xlsx(df_list[[i]],paste("veri",i,".xlsx", sep=""))

     }}
  
}
fonksiyon_adi(sayi=5,satir=c(5,4,3,5,5),
              sutun=c(10,5,4,3,4))