Δημιουργούμε ένα αυθαίρετο σετ γονοτύπων με ομάδες αίματος ΑΒΟ
# R
genotype = c("AA","AO","BB","AO","OO","AO","AA","BO","BO","AO","BB","AO","BO","AB","OO","AB","BB","AO","AO")
table(genotype)
## genotype
## AA AB AO BB BO OO
## 2 2 7 3 3 2
Μετατροπή σε factor και γράφημα
# R
genotypeF = factor(genotype)
levels(genotypeF)
## [1] "AA" "AB" "AO" "BB" "BO" "OO"
plot(genotypeF)
Ποια είναι η πιθανότητα στα τρία παιδιά, τα δύο να είναι κορίτσια;
# R
p_girl <- dbinom(2, 3, 0.5)
p_girl
## [1] 0.375
Για ένα ζευγάρι φορέων της δρεπανοκυτταρικής αναιμίας, ποια είναι η πιθανότητα στα τέσσερα παιδιά, τα δύο να ασθενούν;
# R
p_sickle <- dbinom(2, 4, 0.25)
p_sickle
## [1] 0.2109375
Για το ίδιο ζευγάρι φορέων της δρεπανοκυτταρικής αναιμίας, ποια είναι η πιθανότητα στα τέσσερα παιδιά, τα δύο να είναι φορείς;
# R
p_het <- dbinom(2, 4, 0.50)
p_het
## [1] 0.375
Η κατανομή της πιθανότητας εμφάνισης συγκεκριμένου αριθμού σφαλμάτων, όταν σε ένα πείραμα συμβαίνουν λάθη με πιθανότητα 40%
# R
errors <- 0:10
prob.mass <- dbinom(errors, 10, 0.4)
plot(errors, prob.mass, pch=1, xlab="Number of Errors", ylab="Probability", xaxt="n", yaxt="n")
segments(x0=errors, y0=0, x1=errors, y1=prob.mass)
axis(1, at=seq(0,10, by=1), las=1)
axis(2, at=seq(0,1, by=0.05), las=1)
Ομοίως και για την περίπτωση της δρεπανοκυτταρικής αναιμίας
# R
sickle <- 0:4
prob.mass <- dbinom(sickle, 4, 0.25)
plot(sickle, prob.mass, pch=1, xlab="Number of patients", ylab="Probability", xaxt="n", yaxt="n")
segments(x0=sickle, y0=0, x1=sickle, y1=prob.mass)
axis(1, at=seq(0,4, by=1), las=1)
axis(2, at=seq(0,1, by=0.05), las=1)
Σχεδιασμός μιας καμπύλης κανονικής κατανομής με μέσο 100 και τυπική απόκλιση 15
# R
curve(dnorm(x, 100, 15), xlim=c(45,155), ylab="pdf")
Για μέγεθος δείγματος n=10 υπολογίζουμε την τυπική απόκλιση, όταν ο πληθυσμός της μεταβλητής ακολουθεί κανονική κατανομή με μέσο 10 και τυπική απόκλιση 2
# R
n<-10
sd(rnorm(n, mean=10, sd=2))
## [1] 2.361002
Μπορούμε να κάνουμε μια πολλαπλή δειγματοληψία (R=1000) και να δούμε την κατανομή των πιθανοτήτων των στατιστικών των δειγμάτων. Θα δοκιμάσουμε για δύο διαφορετικά μεγέθη δείγματος, n1=10 και n2=10000
# R
n1<-10
n2<-10000
R<-1000
Υπολογίζουμε τις τυπικές αποκλίσεις για κάθε δείγμα και για τα δύο μεγέθη και τυπώνουμε τους μέσους των διακυμάνσεων αυτών
# R
sdR1 <- replicate(R, sd(rnorm(n1, mean = 10, sd = 2)))
print(mean(sdR1))
## [1] 1.940958
sdR2 <- replicate(R, sd(rnorm(n2, mean = 10, sd = 2)))
print(mean(sdR2))
## [1] 2.000105
Βλέπουμε τα δύο ιστογράμματα για τα διαφορετικά μεγέθη δείγματος
# R
hist(sdR1)
hist(sdR2)
Για τα ίδια στατιστικά κατασκευάζουμε διαγράμματα πυκνότητας
# R
d1<-density(sdR1)
plot(d1)
polygon(d1, col="red", border="blue")
d2<-density(sdR2)
plot(d2)
polygon(d2, col="red", border="blue")