Bangkitkan bilangan acak yang berdistribusi \(exponential (λ)\) dengan metode Inverse Transform Method, yang amatannya berjumlah 10000, dengan pdf
\(f(x,λ)=λ.e^{-λx}\) ; \(x\leq0\)
\(0\) ; lainnya
Buatlah histogram dan hitunglah nilai kurtosis dan skewness
1. Menentukan CDF
PDF dari \(exponential (λ)\) \(f(x)=λ.e^{-λx}\), \(x\geq0\)
CDF dari \(exponential (λ)\) \(F(x)=1-e^{-λx}\), \(x\geq0\)
2. Mencari invers CDF \(F(x)\)
Invers CDF dari \(exponential(λ)\) \(F^{-1}(u)=-\frac{ln(1-u)}{λ}\), \(x\geq0\)
3. Memunculkan \(u∼U(0,1)\)
# Jumlah Amatan
n <- 10000
4. Mencari bilangan acak \(x\) dengan menghitung \(F^{-1}(u)\)
# Membangkitkan U(0,1), Fungsi Inverse CDF
set.seed(10)
eks<- function(n, lambda) {
u <- runif(n)
x <- -(log(1-u)/lambda)
return(x) }
#Invers Transform Method
x1 = eks(1000,3)
#Fungsi Bawaan R
x2 = rexp(1000,rate=3)
5. Membuat Histogram
par(mfrow=c(1,2))
hist(x1,main="Exp dari Inverse Transform", col="aquamarine", xlab="Sumbu X")
hist(x2,main="Exp dari Fungsi Rexp",col="burlywood3",xlab="Sumbu X")
6. Menentukan Kurtosis dan Skewness
library(moments)
kurtosis(x1)
## [1] 11.1458
kurtosis(x2)
## [1] 7.629947
skewness(x1)
## [1] 2.348012
skewness(x2)
## [1] 1.904943
#Menampilkan data Student Performance
kelas<-read.csv("C:/Users/Rizqa Aprillia P/Downloads/StudentsPerformance.csv",header=TRUE)
head(kelas)
## gender race.ethnicity parental.level.of.education lunch
## 1 female group B bachelor's degree standard
## 2 female group C some college standard
## 3 female group B master's degree standard
## 4 male group A associate's degree free/reduced
## 5 male group C some college standard
## 6 female group B associate's degree standard
## test.preparation.course math.score reading.score writing.score
## 1 none 72 72 74
## 2 completed 69 90 88
## 3 none 90 95 93
## 4 none 47 57 44
## 5 none 76 78 75
## 6 none 71 83 78
#Menambahkan Kolom total Skor
kelas$nilai.total.skor <- rowSums(kelas[6:8])
#Menambahkan Kolom Rata-Rata Skor
kelas$rata.rata.skor <- rowMeans(kelas[6:8])
head(kelas)
## gender race.ethnicity parental.level.of.education lunch
## 1 female group B bachelor's degree standard
## 2 female group C some college standard
## 3 female group B master's degree standard
## 4 male group A associate's degree free/reduced
## 5 male group C some college standard
## 6 female group B associate's degree standard
## test.preparation.course math.score reading.score writing.score
## 1 none 72 72 74
## 2 completed 69 90 88
## 3 none 90 95 93
## 4 none 47 57 44
## 5 none 76 78 75
## 6 none 71 83 78
## nilai.total.skor rata.rata.skor
## 1 218 72.66667
## 2 247 82.33333
## 3 278 92.66667
## 4 148 49.33333
## 5 229 76.33333
## 6 232 77.33333
Summary
summary(kelas)
## gender race.ethnicity parental.level.of.education
## Length:1000 Length:1000 Length:1000
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
## lunch test.preparation.course math.score reading.score
## Length:1000 Length:1000 Min. : 0.00 Min. : 17.00
## Class :character Class :character 1st Qu.: 57.00 1st Qu.: 59.00
## Mode :character Mode :character Median : 66.00 Median : 70.00
## Mean : 66.09 Mean : 69.17
## 3rd Qu.: 77.00 3rd Qu.: 79.00
## Max. :100.00 Max. :100.00
## writing.score nilai.total.skor rata.rata.skor
## Min. : 10.00 Min. : 27.0 Min. : 9.00
## 1st Qu.: 57.75 1st Qu.:175.0 1st Qu.: 58.33
## Median : 69.00 Median :205.0 Median : 68.33
## Mean : 68.05 Mean :203.3 Mean : 67.77
## 3rd Qu.: 79.00 3rd Qu.:233.0 3rd Qu.: 77.67
## Max. :100.00 Max. :300.0 Max. :100.00
Skewness
library(e1071)
##
## Attaching package: 'e1071'
## The following objects are masked from 'package:moments':
##
## kurtosis, moment, skewness
skewness(kelas$math.score)
## [1] -0.2780989
skewness(kelas$reading.score)
## [1] -0.2583277
skewness(kelas$ writing.score)
## [1] -0.2885762
skewness(kelas$nilai.total.skor)
## [1] -0.2981605
skewness(kelas$rata.rata.skor)
## [1] -0.2981605
Kurtosis
kurtosis(kelas$math.score )
## [1] 0.2610652
kurtosis(kelas$reading.score)
## [1] -0.07976785
kurtosis(kelas$ writing.score)
## [1] -0.04511069
kurtosis(kelas$nilai.total.skor)
## [1] 0.1129852
kurtosis(kelas$rata.rata.skor)
## [1] 0.1129852
(i) gender
data <- table(kelas$gender)
a <- c("Female","Male")
percent <- round(data/1000*100)
pie(data, labels = paste(percent,"%"), col = cm.colors(length(data)),main ="PERSENTASE PIE CHART GENDER")
legend ("topright", c("Female","Male"), cex = 0.8,
fill = cm.colors(length(data)))
(ii) race.ethnicity
data <- table(kelas$race.ethnicity)
a <- c("Group A", "Group B", "Group C", "Group D", "Group E")
percent <- round(data/1000*100)
pie(data, labels = paste(percent,"%"), col = cm.colors(length(data)),main ="PERSENTASE PIE CHART RACE ETHNICITY")
legend ("topright", c("Group A", "Group B", "Group C", "Group D", "Group E"), cex = 0.8,
fill = cm.colors(length(data)))
(iii) parental.level.of.education
data <- table(kelas$parental.level.of.education)
a <- c("Associate's Degree","Bachelor's Degree","High School","Master's Degree","Some College","Some High School ")
percent <- round(data/1000*100)
pie(data, labels = paste(percent,"%"), col = cm.colors(length(data)),main ="PERSENTASE PIE CHART PARENTAL LEVEL OF EDUCATION")
legend ("topright", c("Associate's Degree","Bachelor's Degree","High School","Master's Degree","Some College","Some High School "), cex = 0.7,
fill = cm.colors(length(data)))
(iv) lunch
data <- table(kelas$lunch)
a <- c("Free/Reduced","Standard")
percent <- round(data/1000*100)
pie(data, labels = paste(percent,"%"), col = cm.colors(length(data)),main ="PERSENTASE PIE CHART LUNCH")
legend ("topright", c("Free/Reduced","Standard"), cex = 0.8,
fill = cm.colors(length(data)))
(v) test.preparation.course
data <- table(kelas$test.preparation.course)
a <- c("Completed","None")
percent <- round(data/1000*100)
pie(data, labels = paste(percent,"%"), col = cm.colors(length(data)),main ="PERSENTASE PIE CHART TEST PREPARATION COURSE")
legend ("topright", c("Completed","None"), cex = 0.8,
fill = cm.colors(length(data)))
(i) parental.level.of.education
library(ggplot2)
rataan = aggregate(rata.rata.skor~parental.level.of.education, data=kelas, FUN = mean)
rata_rata = rataan[ , -1]
a = rataan[ , -2]
ggplot(rataan, aes(x = a, y = rata_rata , fill = parental.level.of.education ))+
geom_bar(stat = "identity")+
labs(title="Diagram Rata-Rata Nilai Skor Terhadap Parental Level Of Education")+
labs(y = "Rata-Rata Skor Siswa",
fill = "Parental Level Of Education",
x = "Parental Level Of Education")+
theme(axis.text.x = element_text(angle = 45, hjust = 1))
(ii) race.ethnicity
library(ggplot2)
rataan = aggregate(rata.rata.skor~race.ethnicity, data=kelas, FUN = mean)
rata_rata = rataan[ , -1]
a = rataan[ , -2]
ggplot(rataan, aes(x = a, y = rata_rata , fill = race.ethnicity ))+
geom_bar(stat = "identity")+
labs(title="Diagram Rata-Rata Nilai Skor Terhadap Race Ethnicity")+
labs(y = "Rata-Rata Skor Siswa",
fill = "Race Ethnicity",
x = "Race Ethnicity")
(i) Diagram batang cluster/stacked parental level of education dan gender terhadap total score
library(ggplot2)
ggplot(kelas, aes(x=parental.level.of.education,y=nilai.total.skor , fill=gender))+
geom_bar(stat = "identity")+ scale_fill_manual(values=c("darkgoldenrod1","darkorange2")) +
labs(y = "Nilai Total Skor",
fill = "Gender",
x = "Parental Level Of Education",
title = "Diagram Batang/Cluster Parental Level Dan Gender Terhadap Total Skor") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
(ii) Diagram batang cluster/stacked race.ethnicity dan gender terhadap total score
library(ggplot2)
ggplot(kelas, aes(x= race.ethnicity, y = nilai.total.skor , fill= gender))+
geom_bar(stat = "identity")+ scale_fill_manual(values=c("darkolivegreen1","darkseagreen4"))+
labs(y = "Nilai Total Skor",
fill = "Gender",
x = "Race Ethnicity",
title = "Diagram Batang/Cluster Race Ethnicity Dan Gender Terhadap Total Skor")
Histogram Sebaran Data Skor Matematika Pada Masing-Masing Jenis Kelamin
library(ggplot2)
ggplot(kelas, mapping=aes(x=math.score,fill=gender))+
geom_histogram(color="black",binwidth=5)+
xlab('Mathematic Score')+
ggtitle(label="Histogram Sebaran Data Skor Matematika pada Masing-Masing Jenis Kelamin")+
scale_fill_manual(values=c("lavenderblush1","hotpink"))+
theme_dark()
Histogram Sebaran Data Skor Writing Pada Masing-Masing Jenis Kelamin
library(ggplot2)
ggplot(kelas, mapping=aes(x = writing.score,fill=gender))+
geom_histogram(color="black",binwidth=5)+
xlab('Writing Score')+
ggtitle(label="Histogram Sebaran Data Skor Writing pada Masing-Masing Jenis Kelamin")+
scale_fill_manual(values=c("darkolivegreen1","cyan2"))+
theme_dark()
Histogram Sebaran Data Skor Reading Pada Masing-Masing Jenis Kelamin
library(ggplot2)
ggplot(kelas, mapping=aes(x = reading.score,fill=gender))+
geom_histogram(color="black",binwidth=5)+
xlab('Reading Score')+
ggtitle(label="Histogram Sebaran Data Skor Reading pada Masing-Masing Jenis Kelamin")+
scale_fill_manual(values=c("pink","plum"))+
theme_dark()
Boxplot Sebaran Skor Matematika Siswa Terhadap Parental Level Of Education Di Masing-Masing Gender
Tampilan Boxplot Biasa
library(ggplot2)
ggplot(kelas, aes(x=parental.level.of.education, y=math.score, fill=gender))+
xlab('Parental Level Of Education')+ylab('Matematika Score') +
ggtitle("Boxplot Math Score Terhadap Parental Education Di Masing'' Gender") +
scale_fill_manual(values=c("indianred1","burlywood")) +
theme(plot.title = element_text(hjust = 1.)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
geom_boxplot()
Tampilan Boxplot Menggunakan Geometri Violin
ggplot(kelas, mapping=aes(x=parental.level.of.education, y= math.score, fill=gender))+
geom_violin(fill="#2D2D2D", alpha=0.3, trim=F,width=1.02)+
xlab('Parental Level Of Education')+ylab('Matematika Score')+
geom_boxplot()+
labs(title="Boxplot Math Score Terhadap Parental Education Di Masing'' Gender")+
coord_flip()+
scale_fill_manual(values=c("indianred1","burlywood"))
## Warning: position_dodge requires non-overlapping x intervals
Boxplot Sebaran Skor Membaca Siswa Terhadap Parental Level Of Education Di Masing-Masing Gender
Tampilan Boxplot Biasa
library(ggplot2)
ggplot(kelas, aes(x=parental.level.of.education, y=reading.score, fill=gender))+
xlab('Parental Level Of Education')+ylab('Reading Score') +
ggtitle("Boxplot Reading Score Terhadap Parental Education Di Masing'' Gender") +
scale_fill_manual(values=c("lightsalmon","navajowhite")) +
theme(plot.title = element_text(hjust = 1.)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
geom_boxplot()
Tampilan Boxplot Menggunakan Geometri Violin
ggplot(kelas, mapping=aes(x=parental.level.of.education, y=reading.score , fill=gender))+
geom_violin(fill="#2D2D2D", alpha=0.3, trim=F,width=1.02)+
xlab('Parental Level Of Education')+ylab('Reading Score') +
geom_boxplot()+
labs(title="Boxplot Reading Skor Terhadap Parental Education Di Masing''Gender")+
coord_flip()+ scale_fill_manual(values=c("lightsalmon","navajowhite"))
## Warning: position_dodge requires non-overlapping x intervals
Boxplot Sebaran Skor Menulis Siswa Terhadap Parental Level Of Education Di Masing-Masing Gender
Tampilan Boxplot Biasa
library(ggplot2)
ggplot(kelas, aes(x=parental.level.of.education, y=writing.score, fill=gender))+
xlab('Parental Level Of Education')+ylab('Writing Score') +
ggtitle("Boxplot Writing Score Terhadap Parental Education Di Masing'' Gender") +
scale_fill_manual(values=c("palegreen","orange")) +
theme(plot.title = element_text(hjust = 1.5)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
geom_boxplot()
Tampilan Boxplot Menggunakan Geometri Violin
ggplot(kelas, mapping=aes(x=parental.level.of.education, y= writing.score , fill=gender))+
geom_violin(fill="#2D2D2D", alpha=0.3, trim=F,width=1.02)+
xlab('Parental Level Of Education')+ylab('Writing Score') +
geom_boxplot()+
labs(title="Boxplot Writing Score Terhadap Parental Education Di Masing''Gender")+
coord_flip()+
scale_fill_manual(values=c("palegreen","orange"))
## Warning: position_dodge requires non-overlapping x intervals
Scatter Plot antara Mathematic Score dengan Writing Score
plot(kelas$math.score,kelas$writing.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Writing Score" ,xlab = "Math Score",col = "tomato1", main="Scatter Plot Mathematic Score Dengan Writing Score")
Scatter Plot antara Mathematic Score dengan Reading Score
plot(kelas$math.score,kelas$reading.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Reading Score" ,xlab = "Math Score",col = "royalblue1", main="Scatter Plot Mathematic Score Dengan Reading Score")
Scatter Plot Antara Writing Score Dengan Mathematic Score
plot(kelas$writing.score,kelas$math.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Math Score" ,xlab = "Writing Score",col = "hotpink3", main="Scatter Plot Writing Score Dengan Mathematic Score")
Scatter Plot Antara Writing Score Dengan Reading Score
plot(kelas$writing.score,kelas$reading.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Reading Score" ,xlab = "Writing Score",col = "deeppink", main="Scatter Plot Writing Score Dengan Reading Score")
Scatter Plot Antara Reading Score Dengan Mathematic Score
plot(kelas$reading.score,kelas$math.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Math Score" ,xlab = "Reading Score",col = "darkorchid3", main="Scatter Plot Reading Score Dengan Mathematic Score")
Scatter Plot Antara Reading Score Dengan Writing Score
plot(kelas$reading.score,kelas$writing.score,pch = 19, cex = 0.8, frame = FALSE, ylab="Writing Score" ,xlab = "Reading Score",col = "darkolivegreen3", main="Scatter Plot Reading Score Dengan Writing Score")