OLC731 Hafta 02

Duygu Gençaslan

2024-10-27

İÇERİK

Paket yükleme ve aktif hale getirme

Kullanılacak çeşitli paketlerin programa yüklenmesi için install.packages() ve aktifleştirilmesi için library() komutları kullanılmaktadır. Gerekli paketlerin setup chunk’ına eklenmesi tavsiye edilir. NOT: Backtick işareti ile kodlar metin kısmında belirtilebiliyor.

library(CTT)
library(tidyverse)
library(devtools)
#githubdan paket yüklemek için gerekli fonk. 
#devtools::install_github("dr-JT/semoutput")
library(semoutput)
#devtools::install_github("hadley/emo")
library('emo')

R ve RStudio’da alıntı yapmak

Çalışmalarda kullanılan son R sürümü için citation() komutu kullanılabilir.

citation()
## To cite R in publications use:
## 
##   R Core Team (2024). _R: A Language and Environment for Statistical
##   Computing_. R Foundation for Statistical Computing, Vienna, Austria.
##   <https://www.R-project.org/>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2024},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also 'citation("pkgname")' for
## citing R packages.

Aynı şekilde kullanılan paketin atıfı da bu komut ile sağlanabilir. Burada paketin adını tırnak içinde vermek gerekmektedir.

Not. Tüm bu atıf işlemleri markdownda yer alan citation aracı ile de yapılabilir

citation("CTT")
## To cite package 'CTT' in publications use:
## 
##   Willse JT (2018). _CTT: Classical Test Theory Functions_. R package
##   version 2.3.3, <https://CRAN.R-project.org/package=CTT>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {CTT: Classical Test Theory Functions},
##     author = {John T. Willse},
##     year = {2018},
##     note = {R package version 2.3.3},
##     url = {https://CRAN.R-project.org/package=CTT},
##   }
## 
## ATTENTION: This citation information has been auto-generated from the
## package DESCRIPTION file and may need manual editing, see
## 'help("citation")'.

str() gibi bazı pratik komutlar veri hakkında daha fazla bilgi edinmeyi kolaylaştırmaktadır.

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="")))))
guvenirlik <- reliability (x, itemal=TRUE)

str(reliability(x,itemal=TRUE))
## List of 9
##  $ nItem         : int 5
##  $ nPerson       : int 10
##  $ alpha         : num 0.816
##  $ scaleMean     : num 2.5
##  $ scaleSD       : num 1.78
##  $ alphaIfDeleted: num [1:5(1d)] 0.833 0.803 0.717 0.742 0.783
##  $ pBis          : num [1:5(1d)] 0.404 0.53 0.791 0.724 0.6
##  $ bis           : num [1:5(1d)] 0.695 0.772 0.992 0.991 0.993
##  $ itemMean      : Named num [1:5] 0.2 0.3 0.5 0.7 0.8
##   ..- attr(*, "names")= chr [1:5] "I1" "I2" "I3" "I4" ...
##  - attr(*, "class")= chr "reliability"

str komutu ile ekstra bilgi almak yerine bu analizi nesne olarak kaydedip ardından dolar işareti ile aşağıdaki gibi tek tek de bakabiliriz. Daha kullanışlı bir kullanım sağlar.

guvenirlik$nItem
## [1] 5
guvenirlik$nPerson
## [1] 10

Fonksiyonlar hk. bilgi almak için ? ya da help kullanılır.

?cohen.d
help(cohen.d)

NOT: bazı komutlar iki pakette de yer alıyor.(masked uyarısı verenler) :: ile paket seçip sonrasında komut verilebilir

psych::polyserial()

FONKSİYONLAR

#?rnorm() pekçok şekilde bu fonk. kullanılabilir.
rnorm(n=10)
rnorm(10)

set.seed(50)
rnorm(50)

set.seed(50)
rnorm(50, mean=10, sd=5)

set.seed(50)
rnorm(50,10,5)

set.seed(50)
rnorm(mean= 10, sd= 5, n=50)

Kendi fonksiyonunuzu nasıl oluşturabilirsiniz ?

function() komutu ile kendi fonksiyonumuzu oluşturabiliriz.

kare_al <- function(sayi){sayi * sayi}
kare_al (3)
## [1] 9
us_al <- function(sayi, us=2){sayi^us}
us_al (3, 5)
## [1] 243
us_al(9)
## [1] 81

Birden fazla çıktısı olacak bir fonksiyon oluşturmak

dikdortgen <- function(en= 5, boy= 10) {
  
  alan <- en*boy
  cevre <- 2*en + 2*boy
  kosegen <- sqrt(en*en + boy*boy)
  
  cikti <- c(alan, cevre, kosegen)
  names(cikti) <- c("alan", "cevre", "kosegen")
  cikti
}
dikdortgen (5,10)
##     alan    cevre  kosegen 
## 50.00000 30.00000 11.18034

$ işareti ile de alt çıktıları görebiliriz.

dikdortgen <- function(en= 5, boy= 10) {
  
  alan <- en*boy
  cevre <- 2*en + 2*boy
  kosegen <- sqrt(en*en + boy*boy)
  
  cikti1 <- list(alan= alan, cevre=cevre, kosegen=kosegen)
  cikti1
}

cikti1 <- dikdortgen (5,10)
cikti1$alan
## [1] 50

1 den 1000e kadar olan sayıların ortalamasını verecek bir fonk oluşturma (avg () komutu ile)

x <- 1: 1000

avg <- function(x){sum(x)/length(x)}
avg (x)
## [1] 500.5
#ya da 

avg <- function(sayilar){sum(sayilar)/length(sayilar)}
avg (1:1000)
## [1] 500.5

Bazı pratik komutlar

ls() ve object ()komutları çalışma alanına -environment- kayıtlı nesneleri gösterir.
rm() nesneleri silmek için kullanılır (remove).
Tüm nesneleri silmek için: rm(list=ls)
Kayıtlı verilerin detayları için: ls.str()
Belli bir nesneyi silmek için: rm(x)