ich die Dichte der Variablen, dessen Bereich der folgenden plotten möge:Transforming variabler Dichte auf logarithmische Skala mit R
Min. :-1214813.0
1st Qu.: 1.0
Median : 40.0
Mean : 303.2
3rd Qu.: 166.0
Max. : 1623990.0
Die lineare Darstellung der Dichte führt zu einer hohen Säule in Bereich [0,1000] , mit zwei sehr langen Schwänzen in Richtung positiver Unendlichkeit und negativer Unendlichkeit. Daher möchte ich die Variable in eine logarithmische Skala umwandeln, so dass ich sehen kann, was um den Mittelwert herum läuft. Zum Beispiel, ich denke an so etwas wie:
log_values = c(-log10(-values[values<0]), log10(values[values>0]))
die Ergebnisse:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-6.085 0.699 1.708 1.286 2.272 6.211
Das Hauptproblem mit dieser Tatsache ist, dass es nicht die 0
Werte enthält. Natürlich kann ich alle Werte weg von 0
mit values[values>=0]+1
verschieben, aber dies würde etwas Verzerrung in den Daten einführen.
Was wäre eine akzeptierte und wissenschaftlich solide Methode zur Umwandlung dieser Variablen in die logarithmische Skala?
Wie etwa zwei Parzellen zu schaffen? Einer für die gesamte Palette, der zweite nur mit dem Mittelteil. – Andrie
Ja, ich habe darüber nachgedacht, aber ich frage mich, ob es eine clevere Umwandlung ist :-) – Mulone
Sie könnten 'sign (values) * log10 (abs (values))' verwenden, um das zu erreichen, was Sie oben konstruiert haben, aber dann alle Nullwerte wird zu "-Inf". – James