Çalışma kapsamında normal dağılım gösteren veri setlerinde normal dağılım eğrisi altında kalan alanın gösterimi ve fonksiyon grafiği oluşturma üzerine uygulamalar yapılmıştır. Bu amaçla ggplot2 ve tigerstats kütüphaneleri kullanılmıştır. Ayrıca çok yalın bir şekilde tekrarsız basit tesadüfi örnekleme (simple random sampling without replacement) yöntemiyle popülasyondan örneklem seçimi gösterilmiştir.
Yüklenen kütüphaneler
kütüphane<-c("dplyr","tibble","tidyr","tigerstats","kableExtra", "ggplot2", "cowplot", "ggtext", "ggthemes", "stargazer")
yükle<-sapply(kütüphane, require, character.only = TRUE, warn.conflicts = FALSE)
#Kütüphane yüklenme durumunu gösteren tablo
tibble(Sıra=1:length(kütüphane), Kütüphane=names(yükle), Durumu=as.logical(yükle)) %>%
mutate(Durumu=if_else(Durumu==TRUE, "Yüklendi", "Paket Kurulumu Gerekli")) %>%
stargazer(summary=FALSE, rownames=FALSE, type = "text", title = "Yüklenen Kütüphaneler")
Örnek 1
Bir üniversiteye giriş sınavının test puanlarının normal bir dağılıma uyduğunu varsayalım. Ortalama test puanı 300 ve standart sapma 89’dur. Sınavda 350 ve üzeri puan alan öğrencilerin yüzdesi nedir?
set.seed(1)
sonuc=pnorm(350, mean=300, sd=89, lower.tail=FALSE)
paste("Çözüm: Üniversiteye giriş sınavında 350 ve üzeri puan alan öğrencilerin oranı ", "%", round(100*sonuc,2),"'dir.", sep="")
Çözüm: Üniversiteye giriş sınavında 350 ve üzeri puan alan öğrencilerin oranı %28.71’dir.
Örnek 1: Grafik üzerinde gösterim
pnormGC(350, region="above", mean=300,
sd=89,graph=TRUE)
Örnek 2
Bir üniversiteye giriş sınavının test puanlarının normal bir dağılıma uyduğunu varsayalım. Ortalama test puanı 300, Standart sapması ise 89’dur. Sınavda 350 ve aşağı puan alan öğrencilerin yüzdesi nedir?
set.seed(1)
sonuc=pnorm(350, mean=300, sd=89, lower.tail=TRUE)
paste("Çözüm: Üniversiteye giriş sınavında 350 ve aşağı puan alan öğrencilerin oranı ", "%", round(100*sonuc,2),"'dur.", sep="")
Çözüm: Üniversiteye giriş sınavında 350 ve aşağı puan alan öğrencilerin oranı %71.29’dur.
Örnek 2: Grafik üzerinde gösterim
pnormGC(350, region="below", mean=300,
sd=89,graph=TRUE)
Örnek 3
Örneğin, ortalaması 300 ve standart sapması 89 olan bir normal dağılımın yüzde 2’lik dilimini bulmak istediğinizi varsayalım. Elde edilen 117.2163 değeri, ortalaması 300 ve standart sapması 89 ile normal dağılım gösteren bir popülasyondaki değerlerin %2’sinin 117,2163’nin altında olduğunu göstermektedir.
qnorm(0.02,mean=300,sd=89)
Çözüm: 117.2163
Örnek 3: Grafik üzerinde gösterim
pnormGC(117.2163,region="below",mean=300,
sd=89,graph=TRUE)
Standart normal dağılım grafiği I
Burada ortalaması 0, standart sapması 1 olan standart normal dağılım grafiği çizilmiştir.
pnormGC(c(-1.96,1.96),region="between",mean=0,
sd=1,graph=TRUE)
Standart normal dağılım grafiği II
Burada ortalaması 0, standart sapması 1 olan standart normal dağılım grafiği ggplot kütüphanesi kullanılarak çizilmiştir. Ayrıca normal dağılım fonksiyonu da grafiğin içerisine yazdırılmıştır.
nd <- ggplot(data.frame(x = c(-3,3)), aes(x = x)) +
stat_function(fun = dnorm)
nd +
annotate("text", x = 0, y = 0.05, parse = TRUE, size = 4,
label = "'Fonksiyon: ' * y==frac(1, sqrt(2*pi)) * e^{-x^2/2}")+
theme_bw() +
ggtitle("Standart Normal Dağılım Grafiği")
Popülasyondan örneklem seçimi
Aşağıdaki kod bloğunda imagpop veri setinden yani popülasyon (N)’dan tekrarsız tesadüfi örneklem seçim yöntemi ile örneklem büyüklüğü (n) 10 örneklem birimleri (sampling units) seçilmiştir.
library(DT)
data(imagpop) #veri seti
set.seed(61)#aynı sonuçları almak için
popsamp(10,imagpop) %>% as_tibble() %>% datatable() # Popülasyondan örneklem büyüklüğü 10 olan tekrarsız örneklem seçimi
Bir fonksiyonun grafiğini çizme I
Aşağıdaki grafikte [-10, 10] x ekseni değerleri üzerinden $X^3-5X^2$ fonksiyonun baz grafiği çizilmiştir.
curve(x^3 - 5*(x)^2, from = -10, to = 10)
Bir fonksiyonun grafiğini çizme II
Aşağıdaki grafikte [-10, 10] x ekseni değerleri üzerinden $X^3-5X^2$ fonksiyonun baz grafiği alternatif olarak ggplot ve ggtext kütüphaneleri ile çizilmiştir.
library(ggtext)
baz <-
ggplot() +
xlim(-10, 10)
baz + geom_function(fun = function(x) x^3 - 5*(x)^2, color="red", size=1.5)+
annotate("text", x = 0, y = -500, parse = TRUE, size = 4,
label = "italic(y)==X^3-5*x^2")
#Alternatif
f <- function(x) {
x^3 - 5*(x)^2}
ggplot(data.frame(x = c(-10, +10)), aes(x = x)) +
stat_function(fun = f, geom = "line", color="red", size=1.5) +
annotate("text", x = 0, y = -500, parse = TRUE, size = 4,colour = "darkblue",
label = "italic(y)==X^3-5*x^2")
Sonuç
Özetle, bu çalışmayla normal dağılım eğrisi altında kalan alanın gösterimi, hesaplanması ve fonksiyon grafiği oluşturma üzerine uygulamalar yapılmıştır. Ayrıca çok yalın bir şekilde tekrarsız basit tesadüfi örnekleme (simple random sampling without replacement) yöntemiyle popülasyondan örneklem seçimi gösterilmiştir.
Faydalı olması dileğiyle.
Bilimle ve teknolojiyle kalınız.
Yararlanılan Kaynaklar
1. Claus O. Wilke (2020). cowplot: Streamlined Plot Theme and Plot Annotations for ‘ggplot2’. R package
version 1.1.1. https://CRAN.R-project.org/package=cowplot
Claus O. Wilke (2020). ggtext: Improved Text Rendering Support for ‘ggplot2’. R package version
0.1.1. https://CRAN.R-project.org/package=ggtext
Claus O. Wilke (2021). ggridges: Ridgeline Plots in ‘ggplot2’. R package version 0.5.3.
https://CRAN.R-project.org/package=ggridges
Daniel Kaplan and Randall Pruim (2021). ggformula: Formula Interface to the Grammar of Graphics. R
package version 0.10.1. https://CRAN.R-project.org/package=ggformula
Dietrich J, Leoncio W (2022). citation: Software Citation Tools. R package version 0.6.2.
Douglas Bates and Martin Maechler (2021). Matrix: Sparse and Dense Matrix Classes and Methods. R
package version 1.3-4. https://CRAN.R-project.org/package=Matrix
Gergely Daróczi and Roman Tsegelskyi (2022). pander: An R ‘Pandoc’ Writer. R package version 0.6.5.
https://CRAN.R-project.org/package=pander
H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016.
Hadley Wickham (2021). forcats: Tools for Working with Categorical Variables (Factors). R package
version 0.5.1. https://CRAN.R-project.org/package=forcats
Hadley Wickham and Jennifer Bryan (2022). readxl: Read Excel Files. R package version 1.4.0.
https://CRAN.R-project.org/package=readxl
Hadley Wickham and Maximilian Girlich (2022). tidyr: Tidy Messy Data. R package version 1.2.0.
https://CRAN.R-project.org/package=tidyr
Hadley Wickham, Romain François, Lionel Henry and Kirill Müller (2022). dplyr: A Grammar of Data
Manipulation. R package version 1.0.9. https://CRAN.R-project.org/package=dplyr
Hao Zhu (2021). kableExtra: Construct Complex Table with ‘kable’ and Pipe Syntax. R package version
1.3.4. https://CRAN.R-project.org/package=kableExtra
Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables. R package
version 5.2.3. https://CRAN.R-project.org/package=stargazer
Jeffrey B. Arnold (2021). ggthemes: Extra Themes, Scales and Geoms for ‘ggplot2’. R package version
4.2.4. https://CRAN.R-project.org/package=ggthemes
Kevin M. Middleton and Randall Pruim (2015). abd: The Analysis of Biological Data. R package version
0.2-8. https://CRAN.R-project.org/package=abd
Kirill Müller and Hadley Wickham (2022). tibble: Simple Data Frames. R package version 3.1.7.
https://CRAN.R-project.org/package=tibble
Lionel Henry, Hadley Wickham and Winston Chang (2020). ggstance: Horizontal ‘ggplot2’ Components. R
package version 0.3.5. https://CRAN.R-project.org/package=ggstance
Makowski, D., Ben-Shachar, M.S., Patil, I. & Lüdecke, D. (2020). Automated Results Reporting as a
Practical Tool to Improve Reproducibility and Methodological Best Practices Adoption. CRAN.
Available from https://github.com/easystats/report. doi: .
Philipp Schauberger and Alexander Walker (2021). openxlsx: Read, Write and Edit xlsx Files. R
package version 4.2.5. https://CRAN.R-project.org/package=openxlsx
Pinheiro J, Bates D, DebRoy S, Sarkar D, R Core Team (2021). nlme: Linear and Nonlinear Mixed Effects Models. R package version3.1-152, .
R Core Team (2021). R: A language and environment for statistical computing. R Foundation for
Statistical Computing, Vienna, Austria. URL https://www.R-project.org/.
Rebekah Robinson and Homer White (2020). tigerstats: R Functions for Elementary Statistics. R
package version 0.3.2. https://CRAN.R-project.org/package=tigerstats
Yihui Xie, Joe Cheng and Xianying Tan (2022). DT: A Wrapper of the JavaScript Library ‘DataTables’.
R package version 0.23. https://CRAN.R-project.org/package=DT