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)
data1 <- data[data > 1]
length(data1)
## [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)
x <- c(5, 7, 8, 10, 12)
bootstrap_4 <- replicate(1000, {
sample4 <- sample(x, size = length(x), replace = TRUE)
mean(sample4)
})
mean(bootstrap_4)
## [1] 8.3572
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)
data_pertama <- rnorm(50, mean= 100, sd=15)
data_kedua <- rnorm(50, mean= 80, sd=10)
gabungan <- c(data_pertama, data_kedua)
mean(gabungan)
## [1] 90.99007
Simulasikan 100 data dari distribusi eksponensial dengan rate = 1. Berapakah nilai median dari data tersebut? Gunakan set.seed(123)
set.seed(123)
no6 <- rexp(100, rate = 1)
median(no6)
## [1] 0.847754
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)
x7 <- 1:10
y7 <- 2 * x + rnorm(10, 0, 1)
model <- lm(y7 ~ x7)
coef(model)
## (Intercept) x7
## 12.7921340 0.7422712
Dari data rnorm(100, mean=70, sd=5), berapakah nilai maksimum dari data tersebut? Gunakan set.seed(123)
set.seed(123)
no8 <- rnorm(100, mean = 70, sd = 5)
max(no8)
## [1] 80.93666
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)
no9 <- rnorm(100, mean = 50, sd = 10)
sd(no9)
## [1] 9.128159
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)
x10 <- c(5, 8, 12, 13, 15, 18, 21)
# Bootstrap 10.000 kali
bootstrap10 <- replicate(10000, {
sample10 <- sample(x10, size = length(x10), replace = TRUE)
median(sample10)
})
# interval kepercayaan 95%
quantile(bootstrap10, probs = 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)
no11 <- rpois(100, lambda = 4)
frekuensi <- table(no11)
modus <- as.numeric(names(frekuensi)[which.max(frekuensi)])
modus
## [1] 2
Dari data rnorm(100), berapa banyak data yang berada di luar ±2 SD? Gunakan set.seed(123)
set.seed(123)
no12 <- rnorm(100)
# hitung sd +- 2
sum(no12 < -2 | no12 > 2)
## [1] 4
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)
no14 <- rbinom(100, size = 10, prob = 0.3)
mean(no14)
## [1] 3.02
Dengan menggunakan fungsi rbinom, simulasikan 1000 percobaan dengan n = 10 dan p = 0.3. Berapa rata-rata jumlah sukses? Gunakan set.seed(123) Berapakah nilai yang paling mendekati rata-rata tersebut? Gunakan set.seed(123)
set.seed(123)
no15 <- rbinom(1000, size = 10, prob = 0.3)
mean(no15)
## [1] 2.989
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)
no17 <- runif(100, min = 20, max = 80)
jarak <- max(no17) - min(no17)
jarak
## [1] 59.6187
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)
no18 <- sample(c("A", "B", "C"), size = 100, replace = TRUE, prob = c(0.2, 0.3, 0.5))
sum(no18 == "B")
## [1] 29
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)
x1 <- rnorm(100)
x2 <- x1 + rnorm(100, 0, 0.01)
x3 <- rnorm(100)
y <- 3 + 2*x1 - 1*x3 + rnorm(100)
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