n_seq <- seq(5, 100, by = 5)
diff <- 5
sd_val <- 15
t_stats <- diff / (sd_val / sqrt(n_seq))
p_vals <- 2 * (1 - pt(abs(t_stats), df = n_seq - 1))
df_plot <- data.frame(n = n_seq, p_value = p_vals)
plot_ly(df_plot, x = ~n, y = ~p_value, type = "scatter", mode = "lines+markers") %>%
layout(
title = "P-value vs. Sample Size",
xaxis = list(title = "Sample Size (n)"),
yaxis = list(title = "P-value")
)
Note: This code generates an interactive plotly plot showing how p-value decreases as sample size increases. It renders correctly when run in RStudio, but isn’t displaying properly in the knitted HTML output.