This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
#Nomor 1
#a
A_inv <- solve(A)
A_det <- det(A)
print(“Invers dari A:”) print(A_inv) print(“Determinan dari A:”) print(A_det)
#b
b <- c(1, 2, 1)
print(“Vektor b:”) print(b)
x <- A_inv %*% b
print(“Solusi x:”) print(x)
#c
eigens <- eigen(A)
print(“Nilai Eigen dari A:”) print(eigens\(values) print("Vektor Eigen dari A:") print(eigens\)vectors)
#Nomor 2
#a
densitas_gamma <- function(x, alpha, beta) { if (x<=0) { return(0) } else { return((1 / (beta^alpha * gamma(alpha))) * (x^(alpha - 1)) * exp(x / beta)) } }
alpha <- 1 beta <- 2
x_values <- c(1, 2, 3, 4, 5) f_values <- densitas_gamma(x_values, alpha, beta)
print(“Nilai f(x) untuk alpha = 1 dan beta = 2:”) print(data.frame(x = x_values, f_value = f_values))
#b
plot(x_values, f_values, type = “l”, main = “Fungsi Densitas Distribusi Gamma”, xlab = “Nilai X”, ylab = “Nilai f(x)”)
abline(v = 0, col = “red”, lty = 2)
#Nomor 3
find_outliers <- function(data) { # Menghitung kuartil pertama (Q1) dan kuartil ketiga (Q3) Q1 <- quantile(data, 0.25) Q3 <- quantile(data, 0.75)
# Menghitung jarak antar kuartil (IQR) IQR <- Q3 - Q1
# Menentukan batas bawah dan atas untuk outlier lower_bound <- Q1 - 1.5 * IQR upper_bound <- Q3 + 1.5 * IQR
# Mendapatkan outliers outliers <- data[data < lower_bound | data > upper_bound]
# Menampilkan hasil if(length(outliers) > 0) { cat(“Outliers found:”) print(outliers) } else { cat(“No outliers found.”) } }
data <- c(12, 15, 14, 13, 12, 11, 10, 15, 101, 105, 3)
find_outliers(data)
#Nomor 4
#a
set.seed(123) n_days <- 100 mean_values <- numeric(n_days) print(mean_values)
#b
for (i in 1:n_days) { random_numbers <- runif(100, min = -1, max = 1) # Membangkitkan 100 bilangan uniform U(-1,1) mean_values[i] <- mean(random_numbers) # Menghitung mean }
results <- data.frame( day = paste(“day”, 1:n_days), value = mean_values )
results_growth <- c(NA, diff(results\(value) / lag(results\)value) * 100) # Menggunakan diff dan lag untuk menghitung perubahan persentase
results_status <- ifelse(is.na(results\(growth), NA, ifelse(results\)growth > 0, “increase”, “decrease”))
head(results)
#Nomor 5
#a
set.seed(123)
sample_size <- 10000 lambda <- 0.5 random_sample <- rexp(sample_size, rate = lambda)
estimated_mean <- mean(random_sample) estimated_variance <- var(random_sample)
cat(“Estimated Mean:”, estimated_mean, “”) cat(“Estimated Variance:”, estimated_variance, “”) cat(“Exact Mean: 2”) cat(“Exact Variance: 4”)
#b
hist(random_sample, breaks = 40, probability = TRUE, col = “skyblue”, main = “Density Plot of Exponential Samples”, xlab = “Values”, ylab = “Density”)
curve(dexp(x, rate = lambda), add = TRUE, col = “red”, lwd = 2)
legend(“topright”, legend = c(“Empirical Density”, “Theoretical Density”), fill = c(“skyblue”, “red”), border = “black”)