- Buatlah 100 data acak dari distribusi binomial dengan n = 10 dan p =
0.3. Hitung rata-ratanya. Berapakah nilai yang paling mendekati
rata-rata tersebut? Gunakan set.seed(123)
set.seed(123)
data <- rbinom(100, size = 10, prob = 0.3)
mean(data)
## [1] 3.02
- Diberikan data:x <- rnorm(100)y
<- 2*x + rnorm(100). Manakah kode berikut yang benar untuk melihat
ringkasan dari model regresi?
# Membuat data
set.seed(123) # Supaya hasilnya bisa direproduksi
x <- rnorm(100) # 100 data acak dari distribusi normal
y <- 2 * x + rnorm(100) # y tergantung pada x + error
# Membuat model regresi
model <- lm(y ~ x)
# Melihat ringkasan model
summary(model)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.9073 -0.6835 -0.0875 0.5806 3.2904
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.10280 0.09755 -1.054 0.295
## x 1.94753 0.10688 18.222 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9707 on 98 degrees of freedom
## Multiple R-squared: 0.7721, Adjusted R-squared: 0.7698
## F-statistic: 332 on 1 and 98 DF, p-value: < 2.2e-16
- Buatlah simulasi data dengan 3 variabel prediktorx1 <- rnorm(100)
x2 <- x1 + rnorm(100, 0, 0.01) x3 <- rnorm(100) y <- 3 +
2x1 - 1x3 + rnorm(100) Buat model lm(y ~ x1 + x2 + x3).
Berdasarkan output model, manakah pernyataan berikut yang paling tepat?
Gunakan set.seed(42)
set.seed(42)
# Simulasi data
x1 <- rnorm(100)
x2 <- x1 + rnorm(100, 0, 0.01) # Sangat berkorelasi dengan x1 (multikolinearitas)
x3 <- rnorm(100)
y <- 3 + 2*x1 - 1*x3 + rnorm(100)
# Model regresi
model <- lm(y ~ x1 + x2 + x3)
summary(model)
##
## Call:
## lm(formula = y ~ x1 + x2 + x3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.7944 -0.5867 -0.1038 0.6188 2.3280
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.03150 0.08914 34.007 <2e-16 ***
## x1 1.17483 9.89434 0.119 0.906
## x2 0.88292 9.89031 0.089 0.929
## x3 -1.03161 0.08882 -11.614 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8867 on 96 degrees of freedom
## Multiple R-squared: 0.8927, Adjusted R-squared: 0.8893
## F-statistic: 266.2 on 3 and 96 DF, p-value: < 2.2e-16
- Simulasikan 100 data dari distribusi uniform antara 20 sampai 80.
Berapa nilai range (max - min) yang paling mendekati hasil simulasi?
Gunakan set.seed(123)
set.seed(123)
data <- runif(100, min = 20, max = 80)
range_value <- max(data) - min(data)
range_value
## [1] 59.6187
- Dari data rnorm(100, mean=70, sd=5), berapakah nilai maksimum dari
data tersebut? Gunakan set.seed(123)
set.seed(123)
data <- rnorm(100, mean = 70, sd = 5)
max(data)
## [1] 80.93666
- Buat 100 data dari distribusi normal N(0,1), lalu ambil hanya data
yang lebih besar dari 1. Berapa banyak data yang tersisa? Gunakan
set.seed(123)
set.seed(123)
data <- rnorm(100, mean = 0, sd = 1)
filtered_data <- data[data > 1]
length(filtered_data)
## [1] 17
- Lakukan bootstrap 1000 kali terhadap sampel x <- c(5, 7, 8, 10,
12). Hitung rata-rata dari setiap bootstrap, lalu ambil rata-rata dari
hasil tersebut. Nilai mendekati berapa? Gunakan set.seed(123)
set.seed(123)
# Sampel data
x <- c(5, 7, 8, 10, 12)
# Fungsi bootstrap 1000 kali
bootstrap_means <- replicate(1000, mean(sample(x, replace = TRUE)))
# Menghitung rata-rata dari hasil bootstrap
mean(bootstrap_means)
## [1] 8.3572
- Buat 100 data acak dari distribusi normal dengan mean 50 dan sd 10.
Hitung standar deviasi dari data tersebut. Gunakan set.seed(123)
set.seed(123)
data <- rnorm(100, mean = 50, sd = 10)
sd(data)
## [1] 9.128159
- Simulasikan 100 data dari distribusi eksponensial dengan rate = 1.
Berapakah nilai median dari data tersebut? Gunakan set.seed(123)
set.seed(123)
data <- rexp(100, rate = 1)
median(data)
## [1] 0.847754
- Buat data berikut: x <- c(5, 8, 12, 13, 15, 18, 21) Lakukan
bootstrap sebanyak 10.000 kali untuk menghitung interval kepercayaan 95%
dari median data. Manakah interval berikut yang paling mendekati hasil?
Gunakan set.seed(123)
set.seed(123)
# Data
x <- c(5, 8, 12, 13, 15, 18, 21)
# Fungsi bootstrap untuk menghitung median
bootstrap_medians <- replicate(10000, median(sample(x, replace = TRUE)))
# Menghitung interval kepercayaan 95%
quantile(bootstrap_medians, c(0.025, 0.975))
## 2.5% 97.5%
## 8 18
- Simulasikan 100 data dari distribusi Poisson dengan λ = 4. Berapa
nilai modus dari data yang dihasilkan? Gunakan set.seed(123)
set.seed(123)
data <- rpois(100, lambda = 4)
# Menghitung modus
modus <- as.numeric(names(sort(table(data), decreasing = TRUE)[1]))
modus
## [1] 2
- Dari data rnorm(100), berapa banyak data yang berada di luar ±2 SD?
Gunakan set.seed(123)
set.seed(123)
data <- rnorm(100)
# Menghitung batas ±2 standar deviasi
outside_2sd <- sum(data < -2 | data > 2)
outside_2sd
## [1] 4
- Buatlah sebuah regresi linear sederhana dari data berikut: x <-
1:10 y <- 2 * x + rnorm(10, 0, 1) Berapa estimasi koefisien slope
dari model lm(y ~ x)? Gunakan set.seed(123)
set.seed(123)
# Data
x <- 1:10
y <- 2 * x + rnorm(10, 0, 1)
# Regresi linear
model <- lm(y ~ x)
# Menampilkan koefisien
summary(model)$coefficients
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5254674 0.6672766 0.7874806 4.536973e-01
## x 1.9180288 0.1075414 17.8352658 1.000321e-07
- Gunakan sample() untuk membuat 100 data kategorik (“A”, “B”, “C”)
dengan probabilitas masing-masing 0.2, 0.3, 0.5. Berapa banyak kategori
“B”? Gunakan set.seed(123)
set.seed(123)
# Membuat data kategorik
data <- sample(c("A", "B", "C"), 100, replace = TRUE, prob = c(0.2, 0.3, 0.5))
# Menghitung jumlah kategori "B"
sum(data == "B")
## [1] 29
- Simulasikan 50 data dari N(100,15) dan 50 data dari N(80,10), lalu
gabungkan. Berapa rata-rata dari seluruh data gabungan? Gunakan
set.seed(123)
set.seed(123)
# Simulasi data
data1 <- rnorm(50, mean = 100, sd = 15)
data2 <- rnorm(50, mean = 80, sd = 10)
# Menggabungkan data
combined_data <- c(data1, data2)
# Menghitung rata-rata dari seluruh data gabungan
mean_combined <- mean(combined_data)
mean_combined
## [1] 90.99007
- Manakah kode berikut yang benar untuk membuat model regresi linear
dari y terhadap x?
# Membuat model regresi linear
reg <- lm(y ~ x)
# Menampilkan ringkasan model
summary(reg)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.1348 -0.5624 -0.1393 0.3854 1.6814
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5255 0.6673 0.787 0.454
## x 1.9180 0.1075 17.835 1e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9768 on 8 degrees of freedom
## Multiple R-squared: 0.9755, Adjusted R-squared: 0.9724
## F-statistic: 318.1 on 1 and 8 DF, p-value: 1e-07
- Dengan menggunakan fungsi rbinom, simulasikan 1000 percobaan dengan
n = 10 dan p = 0.3. Berapa rata-rata jumlah sukses? Gunakan
set.seed(123)
set.seed(123)
# Simulasi 1000 percobaan dengan n = 10 dan p = 0.3
data <- rbinom(1000, size = 10, prob = 0.3)
# Menghitung rata-rata jumlah sukses
mean(data)
## [1] 2.989
- Manakah kode berikut yang benar untuk mensimulasikan 100 nilai dari
distribusi normal dengan mean = 70 dan sd = 15?
# Mensimulasikan 100 nilai dari distribusi normal dengan mean = 70 dan sd = 15
data <- rnorm(100, mean = 70, sd = 15)
# Menampilkan beberapa nilai data yang disimulasikan
head(data)
## [1] 60.97161 55.09452 85.40178 81.26592 47.36250 68.57279