#Membuat kurva distribusi normal
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
# Membuat data untuk sumbu X
df <- data.frame(x = c(-4, 4))
# Membuat kurva menggunakan stat_function
ggplot(df, aes(x = x)) +
stat_function(fun = dnorm, args = list(mean = 0, sd = 1), color = "#2b5c8f", size = 1.2) +
geom_vline(xintercept = 0, linetype = "dashed", color = "red", size = 0.8) +
labs(title = "Kurva Distribusi Normal (mu = 0, sigma = 1)",
x = "Nilai X",
y = "Kepadatan (Density)") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Parameter
mu <- 10
variansi <- 2
sd_val <- sqrt(variansi) # Standar deviasi = akar variansi
# Rentang X (sekitar 4 standar deviasi ke kiri dan kanan dari mu)
x_min <- mu - 4 * sd_val
x_max <- mu + 4 * sd_val
# Membuat kurva
curve(dnorm(x, mean = mu, sd = sd_val),
from = x_min, to = x_max,
col = "darkblue",
lwd = 2,
main = expression(paste("Kurva Distribusi Normal (", mu, " = 10, ", sigma^2, " = 2)")),
xlab = "Nilai X",
ylab = "Kepadatan (Density)")
# Garis tegak merah di titik rata-rata (mu = 10)
abline(v = mu, col = "red", lty = 2, lwd = 1.5)
# Parameter Kurva 1
mu1 <- 10
var1 <- 2
sd1 <- sqrt(var1)
# Parameter Kurva 2
mu2 <- 12
var2 <- 4
sd2 <- sqrt(var2)
# Rentang sumbu X agar mencakup kedua kurva
x_min <- min(mu1 - 4 * sd1, mu2 - 4 * sd2)
x_max <- max(mu1 + 4 * sd1, mu2 + 4 * sd2)
# 1. Kurva Pertama
curve(dnorm(x, mean = mu1, sd = sd1),
from = x_min, to = x_max,
col = "#2b5c8f",
lwd = 2,
ylim = c(0, max(dnorm(mu1, mu1, sd1), dnorm(mu2, mu2, sd2)) * 1.1),
main = "Perbandingan Dua Kurva Distribusi Normal",
xlab = "Nilai X",
ylab = "Kepadatan (Density)")
# 2. Kurva Kedua (ditumpuk)
curve(dnorm(x, mean = mu2, sd = sd2),
col = "#e74c3c",
lwd = 2,
add = TRUE)
# Garis putus-putus untuk masing-masing rata-rata (mu)
abline(v = mu1, col = "#2b5c8f", lty = 2, lwd = 1.5)
abline(v = mu2, col = "#e74c3c", lty = 2, lwd = 1.5)
# Legenda
legend("topright",
legend = c(bquote(mu[1] == .(mu1) ~ "," ~ sigma[1]^2 == .(var1)),
bquote(mu[2] == .(mu2) ~ "," ~ sigma[2]^2 == .(var2))),
col = c("#2b5c8f", "#e74c3c"),
lwd = 2,
bty = "n")
library(ggplot2)
# Buat dataframe parameter berdasarkan tabel
params <- data.frame(
kurva = factor(1:5),
mu = c(0, 2, 5, 10, 1.5),
sigma = c(1, 1, 5, 3, 0.1)
)
# Rentang x mencakup seluruh cakupan kurva (dari min mu-4*sigma sampai max mu+4*sigma)
x_min <- min(params$mu - 4 * params$sigma)
x_max <- max(params$mu + 4 * params$sigma)
df <- data.frame(x = c(x_min, x_max))
# Membuat grafik
ggplot(df, aes(x = x)) +
stat_function(fun = dnorm, args = list(mean = 0, sd = 1), aes(color = "Kurva 1 (mu=0, sd=1)"), linewidth = 1) +
stat_function(fun = dnorm, args = list(mean = 2, sd = 1), aes(color = "Kurva 2 (mu=2, sd=1)"), linewidth = 1) +
stat_function(fun = dnorm, args = list(mean = 5, sd = 5), aes(color = "Kurva 3 (mu=5, sd=5)"), linewidth = 1) +
stat_function(fun = dnorm, args = list(mean = 10, sd = 3), aes(color = "Kurva 4 (mu=10, sd=3)"), linewidth = 1) +
stat_function(fun = dnorm, args = list(mean = 1.5, sd = 0.1), aes(color = "Kurva 5 (mu=1.5, sd=0.1)"), linewidth = 1) +
labs(title = "SIMULASI DISTRIBUSI NORMAL",
x = "Nilai X",
y = "Kepadatan (Density)",
color = "Kurva / Grafik") +
theme_minimal()
#Membuat Kurva Dstribusi T
x <- seq(-4, 4, length.out = 1000)
y <- dt(x, df = 5)
plot(x, y,
type = "l",
main = "Kurva Distribusi T",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi F
x <- seq(0, 5, length.out = 1000)
y <- df(x, df1 = 5, df2 = 10)
plot(x, y,
type = "l",
main = "Kurva Distribusi F",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Chi-Square
x <- seq(0, 20, length.out = 1000)
y <- dchisq(x, df = 5)
plot(x, y,
type = "l",
main = "Kurva Distribusi Chi-Square",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Gamma
x <- seq(0, 10, length.out = 1000)
y <- dgamma(x, shape = 3, rate = 1.5)
plot(x, y,
type = "l",
main = "Kurva Distribusi Gamma",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Weibull
x <- seq(0, 10, length.out = 1000)
y <- dweibull(x, shape = 2, scale = 3)
plot(x, y,
type = "l",
main = "Kurva Distribusi Weibull",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Eksponensial
x <- seq(0, 10, length.out = 1000)
y <- dexp(x, rate = 0.5)
plot(x, y,
type = "l",
main = "Kurva Distribusi Eksponensial",
xlab = "x",
ylab = "f(x)")
#Membuat KUrva Distribusi Pareto
x <- seq(1, 10, length.out = 1000)
alpha <- 3
xm <- 1
y <- alpha * xm^alpha / x^(alpha + 1)
plot(x, y,
type = "l",
main = "Kurva Distribusi Pareto",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Uniform
x <- seq(-2, 5, length.out = 1000)
y <- dunif(x, min = 0, max = 3)
plot(x, y,
type = "l",
main = "Kurva Distribusi Uniform",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Beta
x <- seq(0, 1, length.out = 1000)
y <- dbeta(x, shape1 = 2, shape2 = 5)
plot(x, y,
type = "l",
main = "Kurva Distribusi Beta",
xlab = "x",
ylab = "f(x)")
#Membuat Kurva Distribusi Inverse-Gaussian
x <- seq(0.01, 10, length.out = 1000)
mu <- 2
lambda <- 3
y <- sqrt(lambda / (2 * pi * x^3)) *
exp(-lambda * (x - mu)^2 / (2 * mu^2 * x))
plot(x, y,
type = "l",
main = "Kurva Distribusi Inverse-Gaussian",
xlab = "x",
ylab = "f(x)")