Agora que pude testar o código, acho que encontrei a causa de falha.

## Função de densidade: chisq.
fchisq <- function(x, n)
    (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2)

par(mfrow=c(1, 2))
plot(fchisq(x=1:100, n=10))
curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3)
plot(fchisq(x=seq(0, 50, len=100), n=10))
curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3)

## Estava sendo usado o INDEX e não o valor de x!!!

x <- seq(0, 50, length.out=101)
plot(fchisq(x=x, n=10)~x)
curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3)

À disposição.
Walmes.