İkinci ders kapsamında ilk olarak bir veri seti üzerinden bir önceki dersi tekrar ettik. TRUSA.RDS vei setini RStudio ortamına yükledik ve veriyi okuttuk. TRUSA <- readRDS(“../data/TRUSA.RDS”). Daha sonra naniar paketinde yer alan mis_var_table() fonksiyonu ile eksik veriler hakkında bir tablo eide ettik. Analize dahil edeceğimiz değişkenlerin toplamlarını elde etmek amacıyla

TRUSA$toplam <- TRUSA %>% select(star_with(“M”)) %>% rowSums()

satırını yazdık. Toplam değerlerini elde ettikten sonra ülkelere yönelik değerleri görmek amacıyla TRUSA %>% group_by(CNT) %>% summarise(n=n()), ort=mean(toplam), sd=sd(toplam), min=min(toplam), max=max(toplam))

kodunu yazdık ve ilgili değerleri elde ettik. Geçen hafta da kullandığımız describe() fonksiyonu ile istatistikler hakkında detaylı bilgilere ulaşabildik. Effectsize paketinde yer alan t.test() fonksiyonu ile t.test(toplam~CNT=TRUSA) veri setinin ilgili kısımlarına t-testi uyguladık. Yine aynı pakkete yer alan cohen.d() fonksiyonu ile cohen istatistiğini hesapladık ve burada Mahanalobis uzaklığı değerine ulaştık. Daha sonra veri setinde %5, %10 ve %15 oranlarında eksik veri oluşturmak amacıyla TRUSA_5<- introNAs(TRUSA, percent=5) satırını %10 ve %15 içinde alt alta yazdık. Sonrasında eksik verilerin rastgele olup olmadığını kontrol etmek amacıyla mcar() fonksiyonu ile kontrol ettik. TRUSA_5 %>% is.na %>% colSums() ile her sütundaki NA eksik veri toplamını elde edebiliriz. Eksik veri ssayısı az ve rastgele olduğunda liste bazında silme yapabiliriz. TRUSA_5_1w<- na.omit(TRUSA_5) %5 oranı için bunu uyguladığımızda veri setinde çok az veri kaldı.%15 için yaptığımızda bu sayı daha da artar. Bu nedenle geçen derste kullandığımız çoklu atamayı bu veri seti için uyguladık. Yine T-test ve cohen istatistiklerini elde etmek amacıyla t.test_result_1<- t.test()SUM~CNT, data=TRUSA_5_1w var_Eequal=TRUE, cohen_d_result<- cohen.d(TRUSA_5_1w\(SUM(TRUSA_5_1w\)CNT=“TUR”), (TRUSA_5_1w\(SUM(TRUSA_5_1w\)CNT=“USA”), pooled=TRUE kodlarını kullandık. Çoklu atama açin TURSA_5 _im1<- mice(TRUSA_5[2,36], m=5, maxit=50, method=“logreg”, seed=500) bu kodu %10 ve %15 oranları içinde ayrı ayrı yazıp çalıştırdık ve diğer adıma geçtik. Sonraki adımda %5 için completed_data_1<-complete(TRUSA_5_İM_1, 1) completed_data_2<-complete(TRUSA_5_İM_1, 2) completed_data_3<-complete(TRUSA_5_İM_1, 3) completed_data_4<-complete(TRUSA_5_İM_1, 4) completed_data_5<-complete(TRUSA_5_İM_1, 5) kodunu 5 atama için çalıştırdık. Bunun sayısı değişebilir analizimizin türüne çalışma amacına göre vs değişkenlik gösterebilir. Son olarak t.test_result_1<- t.test(SUM~CNT, data=completed_data_1, var_equal=TRUE) kodu ile bütün analize uyguladık ve sonuçları karşılaştrdık.

İkinci ders kapsamında veri incelemeden yine bahsettik. Burada uç değerleri inceledik vetek değişkenli verilerde +-3,29 aralığı dışında kalan değerlerin uç değer olarak alınabileceğini çok değişkenli verilerde ise Mahanalobis uzaklaığına bakılması gerektiğinden söz ettik. Burada uç değerler silinebilir veya dönüşüme tabi tutulabilir. Burada logaritmik dönüşümlerin yorumlaması zor olabilir. Dönüşümü yaptıktan sonra yorumlamayı da logx üzerinden yapmak gerekir. İlk olarak uç değerleri incelemek için SCREEN.SAV veri setini ssitme yükledik ve gerekli pkaetleri aktifleştirdik. Sonrasında eksik veri düzenlemesi yapmak için screen <- screen %>% mutate(INCOME = ifelse(is.na(INCOME), mean(INCOME, na.rm =TRUE),INCOME)) %>% na.omit() summary(screen) kodunu çalıştırdık.Daha sonra da
x <- c(3,5,7,NA,9) ifelse(is.na(x),mean(x,na.rm=TRUE),x) koduyla uç değerleri çalışmak için hazırladık. Kategorik değişkenlerde uç değerleri incelemek için library(summarytools) freq(screen$RACE, round.digits=2,report.nas = FALSE, style = “rmarkdown”) kodunu çalıştırdık ve uç değerleri de görebileceğimiz detaylı bir tablo eld ettik. Burada ıç değerler total veri setine göre fazla ise değişkeni analizden çıkarmak söz konusu olabilir. Yine grafik incelendiğinde çarpıklığın çok fazla olduğunu anlıyoruz. Sürekli değişkenlerde uç değerleri incelemek için bütün değerleri z değerlerine dönüştürmek gerekşir. Outliers paketindeki scores() fonksiyonu ile uç değerler hesaplanabilir. Yine summarytools paketinde yer alan dscr() fonksiyonu ile z değerlerine ulaşılabilir. descr(z.scores, stats = c(“min”, “max”), transpose = TRUE, headings = FALSE) Somrasında ilgili değişkenlerin z puanların +-4 aralığında olup olmadığına bakarak uç değerleri tespit edebiliriz. DT paketiyle ineraktif grafik ve tablolar yapabiliriz. Uç değerleri tespit etmenin en etkili yolu grafik incelemesidir. Eğer bir değişken araştırma için önemli fakat çok fazla uç değere sahipse logaritmik dönüşümü yapılabilir. Bu işlem özellikle sağa çarpık verilerde iyi sonuçlar verir. çok değişkenli veri setlerindeki uç değerleri belirlemek için Mahalanobis uzaklığının kullanılabileceğinden bahsetmiştik. Bu uzaklık bize ki-kare değerini baz alarak sonuç verir. burada kritik ki-kare değerinin cutoff değeri 2.05105’in üzerindeyse 0.001 düzeyinde analamlı olarak değerlendirilir ve uç değer olduğuna işaret eder. Bunları belirlemek için which(md> cutoff) kodu kullanılabilir. Silmek içinse veri[-ucdegerler, ] kodu kullanılabilr.

Normallik sayılıtısnın sağlanmadığına bakmak için spesifik bir test olmasa da uç değerler incelendiğinde normallikle ilgili yorum yapılabilir. Kestirilen değerlerle gerçek değer arasındaki fark olan artıklar normalliği sağlıyorsa çok değişkenli normallik sağlanıyor diyebiliriz. Normalliği incelemek için çarpıklık ve basıklık değerleri incelenir. Burada çarpıklık ve basıklık değerleri +-1 aralığında olduğunda normallik sağlanıyor diyebiliriz. Fakat çarpıklık ve basıklık değerleri her zaman yeterli olmayabilir. skew.ratio() fonksiyonu ile çarpıklık değeri çarpıklığa ait standart hatalara bölünür. bu deeğerin +-3 değer aralığında gezmesi istendik bir durumdur. Daha sonra normallik jarque.test() fonksiyonu ile de teste edilebilir. Burada p değeri anlamlı sonuçlar verirse verinin normal dağılımdan sapma gösterdiği sonucuna ulaşılabilir. normallik için qq grafikleri de incelenebilir. Bu grafiklerle de normallik sayılıtısı gözlemlenir. Bu grafiklerde nromallipğin sağlanmasına işaret olarak verinin 45 derecelik eğimin içinde kalmasıdır. T-tes ve ANOVA normalliğin ihlali vaesayımına çok direçlidir. Yani normallik sağlanmasa bile yapılabilir. Fakat çoklu regesyonda normallik sayıltısının sağlanması beklenir.