library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.5.3
data <- datasets::mtcars
data_mtcars<-data[,c("mpg","disp","hp", "wt", "qsec")]
#matriks korelasi
cor_mtcars<-cor(data_mtcars)
cor_mtcars
## mpg disp hp wt qsec
## mpg 1.0000000 -0.8475514 -0.7761684 -0.8676594 0.4186840
## disp -0.8475514 1.0000000 0.7909486 0.8879799 -0.4336979
## hp -0.7761684 0.7909486 1.0000000 0.6587479 -0.7082234
## wt -0.8676594 0.8879799 0.6587479 1.0000000 -0.1747159
## qsec 0.4186840 -0.4336979 -0.7082234 -0.1747159 1.0000000
#heatmap
data_cor<-melt(cor_mtcars)
ggplot(data_cor, aes(Var1, Var2, fill=value))+
geom_tile(color="black")+
geom_text(aes(label=round(value, 2)), color="black")+
scale_fill_gradient2(low="red", high="green",mid="yellow",
midpoint=0, limit=c(-1,1), name
="korelasi")+
theme_minimal()+
labs(title="heatmap dataset mtcars",
x="variabel 1", y="variabel 2")+
theme(plot.title=element_text(hjust=0.5),
axis.text.x=element_text(hjust=0.5))

#distribusi bernoulli
bern<-function(x,p){p^x*(1-p)^(1-x)}
bern(1,3/6)
## [1] 0.5
#distribusi binomial
cmfbinom<-function(k,n,p) {
#validasi input
if(k<0|| n<0 || p<0|| p>1) {
stop("input tidak valid")
}
#inisialisasi CMF
cmf<-0
for(x in 0:k) {
prob <- choose(n,x)* (p^x)*((1-p)^(n-x))
cmf<-cmf + prob
}
return(cmf)
}
#peluang paling sedikit 2 orang sembuh=1-p(x<=1)
Peluang=1-cmfbinom(1, 12, 0.2)
Peluang
## [1] 0.7251221
#distribusi poisson
cmfpois <- function(x, lambda) {
if (lambda <= 0) {
stop("Lambda Harus Bernilai > 0")
}
if (x < 0) {
return(0)
}
cmf <- 0
for (k in 0:x) {
cmf <- cmf + (exp(-lambda) * (lambda^k) / factorial(k))
}
return(cmf)
}
Peluang2 <- cmfpois(10, 2) - cmfpois(0, 2)
Peluang2
## [1] 0.8646564
#distrbusi geometrik
geo<-function(x,p){p*(1-p)^(x-1)}
geo(5,0.3)
## [1] 0.07203
#distribusi hipergeometrik
hyper<-function(x,N,n,k){(((factorial(k)/(factorial(k-x)*factorial(x)))*(factorial(N-k)/((factorial((N-k)-(n-x)))*(factorial(n-x)))))/(factorial(N)/(factorial(N-n)*factorial(n))))}
hyper(2,100,10,5)
## [1] 0.07021881