Distribución chi-cuadrado se define en términos de variables aleatorias normalmente distribuidas. Si $Z_1,\dots,Z_k$ son variables normales estándar i.i.d., entonces $ \sum_{i=1}^k Z_i^2 \sim \chi^2_k $ . Así que para sacar de la distribución chi-cuadrado con $k$ grados de libertad, puede utilizar $k$ valores extraídos de la normalidad estándar. Alternativamente, como en su caso, puede dibujar $X_1,\dots,X_k$ de una distribución normal con media $0$ y la desviación estándar $\sigma^2$ y luego tomar $Z_i = X_i / \sigma^2$ (entonces, ¿estás seguro de que quieres dividir por desviación ..?).
set.seed(123)
f <- function() {
n <- 20
sigma <- 5
r <- rnorm(n, 0, sigma)
sum((r/sigma)^2)
}
x <- replicate(5000, f())
xx <- seq(0, 75, by = 0.01)
hist(x, 100, freq = FALSE)
lines(xx, dchisq(xx, df = n), col = "red")
Si necesita $100\alpha \% $ valores medios, y $\alpha$ es grande (digamos $0.95$ ), entonces lo más fácil es hacer varios sorteos y luego descartar los sorteos que caen más allá del $100\alpha \% $ intervalo.