Probability And Mathematical Statistics Theory Applications And Practice In R Guide

shinyApp(ui, server) simulate_power <- function(dist = "norm", n = 30, effect_size = 0.5, alpha = 0.05, nsim = 1000) { # dist: "norm", "binom", "pois", "exp" # effect_size: Cohen's d for normal, odds ratio for binom, etc. pvals <- replicate(nsim, { if(dist == "norm") { x <- rnorm(n, mean = effect_size, sd = 1) y <- rnorm(n, mean = 0, sd = 1) t.test(x, y)$p.value } else if(dist == "binom") { x <- rbinom(n, 1, prob = 0.3 + effect_size) y <- rbinom(n, 1, prob = 0.3) prop.test(c(sum(x), sum(y)), c(n, n))$p.value } else if(dist == "pois") { x <- rpois(n, lambda = 5 + effect_size) y <- rpois(n, lambda = 5) t.test(x, y)$p.value } else if(dist == "exp") { x <- rexp(n, rate = 1/(1 + effect_size)) y <- rexp(n, rate = 1) wilcox.test(x, y)$p.value } })

server <- function(input, output) { output$params <- renderUI({ switch(input$dist, "Normal" = list( numericInput("mean", "Mean", value = 0), numericInput("sd", "Std Dev", value = 1, min = 0.1) ), "Binomial" = list( numericInput("size", "Trials", value = 10, min = 1), numericInput("prob", "Prob success", value = 0.5, min = 0, max = 1) ), "Poisson" = list( numericInput("lambda", "Lambda", value = 3, min = 0.1) ), "Exponential" = list( numericInput("rate", "Rate", value = 1, min = 0.1) )) }) server) simulate_power &lt

# Plot 1: theoretical PDF/PMF output$pdfPlot <- renderPlot({ if(dist %in% c("Binomial", "Poisson")) { x_vals <- 0:max(data) probs <- theory_curve(x_vals) df <- data.frame(x = x_vals, prob = probs) ggplot(df, aes(x, prob)) + geom_col(fill = "skyblue") + labs(title = "Theoretical Distribution", y = "Probability") } else { x_vals <- seq(min(data), max(data), length = 200) df <- data.frame(x = x_vals, density = theory_curve(x_vals)) ggplot(df, aes(x, density)) + geom_line(color = "blue", size = 1.2) + labs(title = "Theoretical PDF") } }) - function(dist = "norm"

Chat with Us
Chat with Games.lol