Estoy tratando de obtener varias gráficas en un gráfico compartiendo una leyenda común usando facet_wrap(). Las parcelas contienen 4 estimaciones de densidad cada una construida usando geom_density(). Este es un ejemplo mínimo de cómo se ven los datos. Se estima una densidad para cada nivel de estimador, y se dibuja una gráfica diferente para cada valor de xp.Múltiples gráficas con múltiples densidades en ggplot2
> esti
estimator value xp
1 OLS Oracle 0.35757317 N= 10 T= 100
2 OLS Oracle 0.50540655 N= 10 T= 100
3 OLS Full 0.02276872 N= 10 T= 100
4 OLS Full 0.53616020 N= 10 T= 100
5 Lasso 0.00000000 N= 10 T= 100
6 Lasso 0.30448578 N= 10 T= 100
7 Adaptive Lasso 0.00000000 N= 10 T= 100
8 Adaptive Lasso 0.49949267 N= 10 T= 100
9 OLS Oracle 0.48392914 N= 10 T= 500
10 OLS Oracle 0.53685915 N= 10 T= 500
11 OLS Full 0.50565482 N= 10 T= 500
12 OLS Full 0.61407003 N= 10 T= 500
13 Lasso 0.38342782 N= 10 T= 500
14 Lasso 0.52012928 N= 10 T= 500
15 Adaptive Lasso 0.47951875 N= 10 T= 500
16 Adaptive Lasso 0.53222172 N= 10 T= 500
puedo construir una trama con las cuatro densidades:
library('ggplot2')
ggplot(data=esti,aes(x=value,colour=estimator)) + geom_density()
o dos paneles con una densidad en cada uno:
ggplot(data=esti,aes(x=value)) + geom_density() +facet_wrap(~xp,scales='free_y')
Sin embargo los dos juntos no funciona y el resultado en un error:
> ggplot(data=esti,aes(x=value,colour=estimator)) + geom_density() +facet_wrap(~xp,scales='free_y')
Error in UseMethod("scale_dimension") :
no applicable method for 'scale_dimension' applied to an object of class "NULL"
He probado diferentes valores para escalas, u omitirlas por completo, sin suerte. Intenté rastrear qué objeto se estaba aplicando a 'scale_dimension', sin suerte tampoco. ¿Alguien puede iluminarme?
Sólo una conjetura, pero podría tener algo que ver con el hecho de que está calculando una densidad en solo dos valores por grupo? Cuando creo un diagrama similar usando un conjunto de datos más grande no obtengo ese error. – joran
Gracias por su respuesta ese fue el problema al usar 'geom_density()'. El problema sigue siendo el mismo cuando trato de usar 'geom_line (stat = 'densidad')' aunque ... –
Pero ... el problema es el mismo, ¿no? Aún está calculando una densidad en solo dos valores. – joran