set.
seed(123)
population_size <- 100
population <- rnorm(population_size, 0, 1)
m <- 5 # Number of sets
r <- 3 # Number of cycles
# SIMPLE RANDOM SAMPLING
srs_sample <- numeric(m * r)
for (cycle in 1:r) {
srs_sample[((cycle - 1) * m + 1):(cycle * m)] <- sample(population, m)
print(srs_sample)
# Function to perform Ranked Set Sampling
ranked_set_sampling <- function(population, m, r) {
n <- m * r # Total sample size required
final_sample <- numeric(n)
for (cycle in 1:r) {
sample_units <- sample(population, m * m)
sets <- split(sample_units, rep(1:m, each = m))
ranked_units <- lapply(sets, function(set) sort(set))
for (i in 1:m) {
final_sample[(cycle - 1) * m + i] <- ranked_units[[i]][i]
return(final_sample)
rss_sample <- ranked_set_sampling(population, m, r)
print(rss_sample)
# Function to perform Minimax Ranked Set Sampling
minimax_ranked_set_sampling <- function(population, m, r) {
final_samples <- numeric(m * r)
for (cycle in 1:r) {
samples_list <- lapply(1:m, function(i) sample(population, i))
ranked_samples_list <- lapply(samples_list, sort)
for (i in 1:m) {
if (i %% 2 == 1) {
final_samples[(cycle - 1) * m + i] <- min(ranked_samples_list[[i]])
} else {
final_samples[(cycle - 1) * m + i] <- max(ranked_samples_list[[i]])
return(final_samples)
final_selected_samples <- minimax_ranked_set_sampling(population, m, r)
print(final_selected_samples)
# Calculating means and variances
mean_srs <- mean(srs_sample)
mean_rss <- mean(rss_sample)
mean_mmrss <- mean(final_selected_samples)
var_srs <- var(srs_sample)
var_rss <- var(rss_sample)
var_mmrss <- var(final_selected_samples)
print(mean_srs)
print(mean_rss)
print(mean_mmrss)
print(var_srs)
print(var_rss)
print(var_mmrss)