1 Yüklenen Kütüphaneler
Bu çalışmanın amacı prettydoc paketi kullanılarak R Markdown üzerinde html uzantılı raporlama yapmaktır.
Aşağıdaki R kod bloğunun çalıştırılmasından sonra kütüphanelerin yüklenip yüklenmediğine dair aşağıdaki gibi mantıksal vektör sonuçları gelecektir. Eğer mantıksal vektör sonuçlarının hepsi TRUE ise kütüphanelerin hepsini yüklenmiştir demektir. Kolaylık sağlaması açısından yukarıda kütüphanelerin yüklenmesini gösterir tabloyu da elde etmek ve daha kolay okumanız için yukarıdaki kod bloğu içerisinden kısa bir kod yazdım. Bu kod çalıştırıldığında aşağıdaki tabloda görüleceği üzere bütün kütüphaneler yüklenmiştir. Eğer ilgili kütüphane yüklenmemiş olursa “Paket Kurulumu Gerekli” ifadesi satırda yazacaktır. Satırda yazan bu uyarı metnine göre paketi ya kurar yada yüklersiniz. Bir paketin kurulması ile yüklenmesinin aynı şey olmadığını burada ifade etmek gerekir konuyu yabancı olanlar için. Paket kurulumu ilk defa yapılan bir işlem iken, paketin yüklenmesi zaten kurulan bir paketin yüklenmesi yani çalışır duruma getirilmesidir. İlk defa bir paket kurulumu gerçekleştiriliyorsa install.packages() fonksiyonunu, zaten bir paket kurulumu gerçekleştirilmiş ise ilgili paketin veya kütüphanenin yüklenmesi veya okunması için library() veya require() fonksiyonlarını kullanıyoruz. Fonksiyonlardaki parantez () içerisine yüklenecek paket veya kütüphane adını yazıyoruz.
<-c("dplyr","tibble","tidyr","ggplot2","ggthemes","readr","readxl","ggpubr","formattable", "ggstance", "pastecs","writexl", "psych", "GGally","pander", "rstatix","RColorBrewer", "htmlwidgets","kableExtra","stargazer","readr", "equatiomatic")
kütüphane<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE) yükle
## Warning: package 'ggpubr' was built under R version 4.0.5
## Warning: package 'equatiomatic' was built under R version 4.0.5
#Kütüphane yüklenme durumunu gösteren tablo
=suppressWarnings(yükle, classes = "warning")
tablo
=names(tablo)
isim
=as_tibble(tablo)
deger
data.frame(sıra=1:length(isim), kütüphane=isim, yuklenme_durumu=deger$value) %>% mutate(yuklenme_durumu=if_else(yuklenme_durumu==TRUE, "Yuklendi", "Paket Kurulumu Gerekli")) %>% kbl(caption = "Kütüphane Yüklenme Bilgisi") %>% kable_classic_2(full_width = F, html_font="arial")
sıra | kütüphane | yuklenme_durumu |
---|---|---|
1 | dplyr | Yuklendi |
2 | tibble | Yuklendi |
3 | tidyr | Yuklendi |
4 | ggplot2 | Yuklendi |
5 | ggthemes | Yuklendi |
6 | readr | Yuklendi |
7 | readxl | Yuklendi |
8 | ggpubr | Yuklendi |
9 | formattable | Yuklendi |
10 | ggstance | Yuklendi |
11 | pastecs | Yuklendi |
12 | writexl | Yuklendi |
13 | psych | Yuklendi |
14 | GGally | Yuklendi |
15 | pander | Yuklendi |
16 | rstatix | Yuklendi |
17 | RColorBrewer | Yuklendi |
18 | htmlwidgets | Yuklendi |
19 | kableExtra | Yuklendi |
20 | stargazer | Yuklendi |
21 | readr | Yuklendi |
22 | equatiomatic | Yuklendi |
2 Tanımlayıcı İstatistikler
2.1 mtcars Veri Seti
Çalışma kapsamında R içerisinde bulunan mtcars
veri setinden yararlanarak tanımlayıcı ve çıkarımsal istatistikler ortaya konulmuştur.Veri seti 11 değişkenden ve 32 gözlemden oluşmaktadır.
- mpg:Mil/(ABD) galon
- cyl:Silindir sayısı
- disp:Displacement (m.in.)
- hp:Brüt beygir gücü
- drat:Arka aks oranı
- wt:Ağırlık (1000 lbs)
- qsec: 1/4 mil zaman
- vs:Motor (0 = V şeklinde, 1 = düz)
- am:Şanzıman (0 = otomatik, 1 = manuel)
- gear: İleri vites sayısı
=mtcars
veri%>% kbl() %>% kable_styling() veri
mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | |
---|---|---|---|---|---|---|---|---|---|---|---|
Mazda RX4 | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 |
Mazda RX4 Wag | 21.0 | 6 | 160.0 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 |
Datsun 710 | 22.8 | 4 | 108.0 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 |
Hornet 4 Drive | 21.4 | 6 | 258.0 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 |
Hornet Sportabout | 18.7 | 8 | 360.0 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 |
Valiant | 18.1 | 6 | 225.0 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 |
Duster 360 | 14.3 | 8 | 360.0 | 245 | 3.21 | 3.570 | 15.84 | 0 | 0 | 3 | 4 |
Merc 240D | 24.4 | 4 | 146.7 | 62 | 3.69 | 3.190 | 20.00 | 1 | 0 | 4 | 2 |
Merc 230 | 22.8 | 4 | 140.8 | 95 | 3.92 | 3.150 | 22.90 | 1 | 0 | 4 | 2 |
Merc 280 | 19.2 | 6 | 167.6 | 123 | 3.92 | 3.440 | 18.30 | 1 | 0 | 4 | 4 |
Merc 280C | 17.8 | 6 | 167.6 | 123 | 3.92 | 3.440 | 18.90 | 1 | 0 | 4 | 4 |
Merc 450SE | 16.4 | 8 | 275.8 | 180 | 3.07 | 4.070 | 17.40 | 0 | 0 | 3 | 3 |
Merc 450SL | 17.3 | 8 | 275.8 | 180 | 3.07 | 3.730 | 17.60 | 0 | 0 | 3 | 3 |
Merc 450SLC | 15.2 | 8 | 275.8 | 180 | 3.07 | 3.780 | 18.00 | 0 | 0 | 3 | 3 |
Cadillac Fleetwood | 10.4 | 8 | 472.0 | 205 | 2.93 | 5.250 | 17.98 | 0 | 0 | 3 | 4 |
Lincoln Continental | 10.4 | 8 | 460.0 | 215 | 3.00 | 5.424 | 17.82 | 0 | 0 | 3 | 4 |
Chrysler Imperial | 14.7 | 8 | 440.0 | 230 | 3.23 | 5.345 | 17.42 | 0 | 0 | 3 | 4 |
Fiat 128 | 32.4 | 4 | 78.7 | 66 | 4.08 | 2.200 | 19.47 | 1 | 1 | 4 | 1 |
Honda Civic | 30.4 | 4 | 75.7 | 52 | 4.93 | 1.615 | 18.52 | 1 | 1 | 4 | 2 |
Toyota Corolla | 33.9 | 4 | 71.1 | 65 | 4.22 | 1.835 | 19.90 | 1 | 1 | 4 | 1 |
Toyota Corona | 21.5 | 4 | 120.1 | 97 | 3.70 | 2.465 | 20.01 | 1 | 0 | 3 | 1 |
Dodge Challenger | 15.5 | 8 | 318.0 | 150 | 2.76 | 3.520 | 16.87 | 0 | 0 | 3 | 2 |
AMC Javelin | 15.2 | 8 | 304.0 | 150 | 3.15 | 3.435 | 17.30 | 0 | 0 | 3 | 2 |
Camaro Z28 | 13.3 | 8 | 350.0 | 245 | 3.73 | 3.840 | 15.41 | 0 | 0 | 3 | 4 |
Pontiac Firebird | 19.2 | 8 | 400.0 | 175 | 3.08 | 3.845 | 17.05 | 0 | 0 | 3 | 2 |
Fiat X1-9 | 27.3 | 4 | 79.0 | 66 | 4.08 | 1.935 | 18.90 | 1 | 1 | 4 | 1 |
Porsche 914-2 | 26.0 | 4 | 120.3 | 91 | 4.43 | 2.140 | 16.70 | 0 | 1 | 5 | 2 |
Lotus Europa | 30.4 | 4 | 95.1 | 113 | 3.77 | 1.513 | 16.90 | 1 | 1 | 5 | 2 |
Ford Pantera L | 15.8 | 8 | 351.0 | 264 | 4.22 | 3.170 | 14.50 | 0 | 1 | 5 | 4 |
Ferrari Dino | 19.7 | 6 | 145.0 | 175 | 3.62 | 2.770 | 15.50 | 0 | 1 | 5 | 6 |
Maserati Bora | 15.0 | 8 | 301.0 | 335 | 3.54 | 3.570 | 14.60 | 0 | 1 | 5 | 8 |
Volvo 142E | 21.4 | 4 | 121.0 | 109 | 4.11 | 2.780 | 18.60 | 1 | 1 | 4 | 2 |
2.2 Tanımlayıcı İstatistikler Tablosu
<- within(veri, {
veri1 <- factor(vs, labels = c("V", "S")) #değişkenin nominal kategorik veri tipine dönüştürülmesi
vs <- factor(am, labels = c("otomatik", "manuel")) #değişkenin nominal kategorik veri tipine dönüştürülmesi
am <- ordered(cyl) # değişkenin nominal sıra ölçekli veri tipine dönüştürülmesi
cyl <- ordered(gear) # değişkenin nominal sıra ölçekli veri tipine dönüştürülmesi
gear <- ordered(carb) # değişkenin nominal sıra ölçekli veri tipine dönüştürülmesi
carb
})
=names(veri1) %in% c("vs", "am", "cyl","gear", "carb") # tanımlayıcı istatistiklerden çıkarılacak nominal değişkenler
cikarma
summary(veri[!cikarma]) %>% kbl(caption = "Tanımlayıcı İstatistikler") %>%
kable_classic(full_width = F, html_font = "Cambria")
mpg | disp | hp | drat | wt | qsec | |
---|---|---|---|---|---|---|
Min. :10.40 | Min. : 71.1 | Min. : 52.0 | Min. :2.760 | Min. :1.513 | Min. :14.50 | |
1st Qu.:15.43 | 1st Qu.:120.8 | 1st Qu.: 96.5 | 1st Qu.:3.080 | 1st Qu.:2.581 | 1st Qu.:16.89 | |
Median :19.20 | Median :196.3 | Median :123.0 | Median :3.695 | Median :3.325 | Median :17.71 | |
Mean :20.09 | Mean :230.7 | Mean :146.7 | Mean :3.597 | Mean :3.217 | Mean :17.85 | |
3rd Qu.:22.80 | 3rd Qu.:326.0 | 3rd Qu.:180.0 | 3rd Qu.:3.920 | 3rd Qu.:3.610 | 3rd Qu.:18.90 | |
Max. :33.90 | Max. :472.0 | Max. :335.0 | Max. :4.930 | Max. :5.424 | Max. :22.90 |
2.3 Tanımlayıcı İstatistikler Tablosu Alternatifi
=names(veri1) %in% c("vs", "am", "cyl","gear", "carb") # tanımlayıcı istatistiklerden çıkarılacak nominal değişkenler
cikarma
stargazer(veri[!cikarma], type = "text",title="Tablo 1: Sürekli Değişkenlerde Tanımlayıcı İstatistikler Tablosu", digits=1, out="table3.html", flip=T)
##
## Tablo 1: Sürekli Değişkenlerde Tanımlayıcı İstatistikler Tablosu
## ========================================
## Statistic mpg disp hp drat wt qsec
## ----------------------------------------
## N 32 32 32 32 32 32
## Mean 20.1 230.7 146.7 3.6 3.2 17.8
## St. Dev. 6.0 123.9 68.6 0.5 1.0 1.8
## Min 10 71 52 2.8 1.5 14.5
## Pctl(25) 15.4 120.8 96.5 3.1 2.6 16.9
## Pctl(75) 22.8 326 180 3.9 3.6 18.9
## Max 34 472 335 4.9 5.4 22.9
## ----------------------------------------
2.4 Vites türüne göre yakıt tüketimleri ve beygir güçleri
Veri setinde ‘mpg’ değişkeni yakıt tüketimini, ‘am’ değişkeni vites tipini ve ‘hp’ değişkeni ise beygir gücünü göstermektedir.
%>% ggplot(aes(x=mpg, y=hp, col=(am))) + geom_point()+
veri1 facet_wrap(. ~ am, scales="free_y")+
theme_economist()+
theme(legend.position = "none")+
theme(
strip.text.x = element_text(
size = 12, color = "black", face = "bold"
))
Şekil 1.1 Vites türüne göre yakıt tüketimleri
2.5 Eşitlik yazma
Eşitlik ortalanmak isteniyorsa eşitliğin soluna ve sağına çift dolar işareti ilave edilir. Eşitlik sola yaslanacaksa soluna ve sağına tek dolar işareti eklenir.https://rmd4sci.njtierney.com/math
\[X_i\]
Büyüktür işareti
\[ x\ge y\]
Kesirli ifade yazımı
\[\frac{2}{3}\]
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
\[ E = mc^2 \]
Tabakalı örneklemede örneklem büyüklüğü formülü
İlgili değişken kesikli ise aşağıdaki eşitlik örneklem büyüklüüğünün hesaplanmasında kullanılır.
\[ n = \frac{Nt^2pq}{d^2(N-1)+t^2pq} \]
Standart sapma
\[\sigma = \sqrt{\frac{\sum\limits_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}}\]
Sayı serilerini toplama
\[x_{1} + x_{2} + \cdots + x_{n}\]
\(Y = X\beta + \epsilon\),footnotes1.
3 Çıkarımsal İstatistikler
3.1 Modeli kurma ve eşitliklere dönüştürme
# Doğrusal regresyon modeli
<- lm(mpg ~ am + hp, veri1)
model1 # Teorik modeli gösterme
::extract_eq(model1) equatiomatic
\[ \operatorname{mpg} = \alpha + \beta_{1}(\operatorname{am}_{\operatorname{manuel}}) + \beta_{2}(\operatorname{hp}) + \epsilon \]
<- lm(mpg ~ am + hp+drat + wt, veri1) model2
3.2 Model 1 katsayılarını gösterme
::extract_eq(model1, use_coefs = TRUE, wrap = TRUE) equatiomatic
\[ \begin{aligned} \operatorname{\widehat{mpg}} &= 26.58 + 5.28(\operatorname{am}_{\operatorname{manuel}}) - 0.06(\operatorname{hp}) \end{aligned} \]
3.3 Model 2 katsayılarını gösterme
::extract_eq(model2, use_coefs = TRUE, wrap = TRUE) equatiomatic
\[ \begin{aligned} \operatorname{\widehat{mpg}} &= 30.03 + 1.58(\operatorname{am}_{\operatorname{manuel}}) - 0.04(\operatorname{hp}) + 0.98(\operatorname{drat})\ - \\ &\quad 2.73(\operatorname{wt}) \end{aligned} \]
3.4 Model 1 ve 2 Özeti
İki model karşılaştırıldığında kurulan 2. modelin açıklayıcılığı 1. modele göre daha yüksektir. Diğer bir ifadeyle düzeltilmiş R^2 (Adjusted R2) 1. modelde % yaklaşık % 76,7 iken 2. modelde % 82’dir.
stargazer(model1,model2, type = "text", title="Model Karşılaştırmaları")
##
## Model Karşılaştırmaları
## =================================================================
## Dependent variable:
## ---------------------------------------------
## mpg
## (1) (2)
## -----------------------------------------------------------------
## ammanuel 5.277*** 1.579
## (1.080) (1.559)
##
## hp -0.059*** -0.036***
## (0.008) (0.010)
##
## drat 0.981
## (1.377)
##
## wt -2.726***
## (0.938)
##
## Constant 26.585*** 30.027***
## (1.425) (6.185)
##
## -----------------------------------------------------------------
## Observations 32 32
## R2 0.782 0.843
## Adjusted R2 0.767 0.820
## Residual Std. Error 2.909 (df = 29) 2.560 (df = 27)
## F Statistic 52.024*** (df = 2; 29) 36.201*** (df = 4; 27)
## =================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
3.5 Regresyon Model1 Grafikleri
par(mfrow = c(2,2))
plot(model1)
3.6 Regresyon Model2 Grafikleri
par(mfrow = c(2,2))
plot(model2)
4 Yararlanılan Kaynaklar
- https://github.com/yixuan/prettydoc/
- https://bookdown.org/yihui/rmarkdown-cookbook/equatiomatic.html
- https://rmd4sci.njtierney.com/math
- Anderson, Daniel, Andrew Heiss, and Jay Sumners. 2021. Equatiomatic: Transform Models into LaTeX Equations. https://github.com/datalorax/equatiomatic.
- https://rpruim.github.io/s341/S19/from-class/MathinRmd.html
- https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/mtcars
- https://cran.r-project.org/web/packages/kableExtra/vignettes/awesome_table_in_html.html#Add_header_rows_to_group_columns
- https://tevfikbulut.com/2020/07/12/rda-multinominal-lojistik-regresyon-uzerine-bir-vaka-calismasi-a-case-study-on-multinominal-logistic-regression-in-r/
- https://cran.r-project.org/web/packages/prettydoc/index.html
Doğrusal regresyon modellerinde regresyon eşitliğini göstermektedir.↩︎