Je veux tracer la densité de la variable dont la plage est la suivante :
Min. :-1214813.0
1st Qu. : 1.0
Médiane : 40.0
Moyenne : 303.2
3rd Qu. : 166.0
Max. : 1623990.0
Le graphique linéaire de la densité donne une colonne haute dans la plage [0,1000], avec deux très longues queues vers l'infini positif et négatif. Par conséquent, j'aimerais transformer la variable en une échelle logarithmique, afin de pouvoir voir ce qui se passe autour de la moyenne. Par exemple, je pense à quelque chose comme :
log_values = c( -log10(-values[values<0]), log10(values[values>0]))
ce qui donne :
Min. 1st Qu. Médiane Moyenne 3rd Qu. Max.
-6.085 0.699 1.708 1.286 2.272 6.211
Le principal problème avec cela est le fait que cela n'inclut pas les valeurs 0
. Bien sûr, je peux décaler toutes les valeurs loin de 0
avec values[values>=0]+1
, mais cela introduirait une certaine distorsion dans les données.
Quelle serait une manière acceptée et scientifiquement solide de transformer cette variable en échelle logarithmique ?