2013-12-18 5 views
6

pracuję moja droga przez R Graphics Cookbook i pobiegł do tego zestawu kodu:Co oznacza ".." w ggplot "fill = .. density .."?

library(gcookbook) 
library(ggplot2) 

p <- ggplot(faithful, aes(x = eruptions, y = waiting)) + 
    geom_point() + 
    stat_density2d(aes(alpha=..density.., fill=..density..), geom="tile", contour=FALSE) 

To działa dobrze, ale nie rozumiem, co .. przed i po density ma na myśli. Nie mogę tego znaleźć w książce.

+2

'..density..',' ..count..' i inne odnoszą się do zmiennych, które zostały utworzone w locie przez ggtplo2 przy użyciu funkcji stat_xxx. http://stackoverflow.com/questions/14570293/special-variables-in-ggplot-count-density-etc – baptiste

Odpowiedz

5

Nazwy zmiennych rozpoczynające się od .. są możliwe w R i traktowane są tak samo jak każda inna zmienna. Próbujesz stworzyć własną.

..x.. <- 1:5 

ggplot2 często tworzy dołącza dodatkowych kolumn do ramki danych w celu sporządzenia wykresu. (W terminologii ggplot2 jest to "wzmacnianie danych".) ggplot2 używa konwencji nazewniczej ..something.. dla tych ufortyfikowanych kolumn.

Jest to częściowo spowodowane tym, że użycie ..something.. raczej nie koliduje z istniejącymi zmiennymi w zestawie danych. Przyjmij to jako wskazówkę, że nie powinieneś nazwać kolumn w swoim zestawie danych za pomocą tego wzorca.

Funkcje stat_density* używają do reprezentowania gęstości zmiennej x. Inne ufortyfikowane nazwy zmiennych obejmują ..count...

+0

Cienki zamiast tego jest bardziej flagą, aby wybrać zmienną o nazwie "gęstość" w lokalnym data.frame utworzone przez '? stat_bin'. Można nawet używać zmiennych 'density' lub' counts', ale próby użycia zmiennej o nazwie '..density..' mogą się nie udać. –

+0

@DWin Całkowicie przepisałem odpowiedź, aby nie była to już zniekształcona bzdura. –

+0

Z wyjątkiem strony? Stat_bin (i mojego ograniczonego doświadczenia), rzeczywiste nazwy to 'density',' count', 'ncount' oraz' ndensity'. Zgadzam się, że wybór pisowni flagi "fortyfikacji" polegał na uniknięciu kolizji z nazwami użytkowników. –