Não há nada de errado, pois a função está retornando a densidade no domínio da função requerida!

par(mfrow=c(2,2))
plot(density(x,weights=y,from=min(x),to=max(x)),main="Density") 
plot(density(x,weights=y,from=min(x),to=max(x)),main="Density",xlim=range(x),ylim=range(c(y,z)))
plot(density(x,weights=y,from=min(x),to=max(x)),main="Density",xlim=range(x),ylim=c(35000,40000))
plot(density(x,weights=y,from=min(x),to=max(x)),main="Density",xlim=range(x),ylim=c(0,100))    

Talvez esteja interessado nisso!

plot(density(x,weights=y,from=min(x),to=max(x)),main="Density", xlim=range(x),ylim=c(0,40000))
par(new=TRUE)
plot(density(x,weights=z,from=min(x),to=max(x)),main="Density", xlim=range(x),ylim=c(0,40000),col='red')  

 

\begin{signature}
<<>>=
Prof. Dr. Ivan Bezerra Allaman
Universidade Estadual de Santa Cruz
Departamento de Ciências Exatas e Tecnológicas
Ilhéus/BA - Brasil
Fone: +55 73 3680-5076
E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com
@
\end{signature}