si può fare con ggplot2
, utilizzando facets
. Quando leggo "Voglio creare un grafico in cui i punti dati sono raggruppati come definito dal fattore", la prima cosa che mi è venuta in mente è stata facets
.
Ma in questo caso particolare, alternativa più veloce dovrebbe essere:
plot(as.numeric(trans.factor), casp6)
e si può giocare con le opzioni di scena dopo (type
, fg
, bg
...), ma vi consiglio di attaccare con ggplot2
, dal momento che ha un codice molto più pulito, una grande funzionalità, è possibile evitare la sovrapposizione ... ecc. ecc.
Scopri come gestire i fattori. Hai barplot in sede di valutazione plot(trans.factor, casp6)
perche' trans.factor
era classe di factor
(ironia della sorte, è anche denominato in tale maniero) ... e trans.factor
, come tale, è stato dichiarato prima una variabile continua (numerico) entro plot()
funzione di ... quindi plot()
"sente" la necessità di suddividere i dati e disegnare il boxplot in base a ciascuna parte (se dichiari prima la variabile continua, otterrai un grafico ordinario, giusto?). ggplot2
, d'altra parte, interpreta fattore in un modo diverso ... come , variabile numerica "un normale" (questo l'acronimo di sintassi fornita da Jonathan Chang, è necessario specificare geom
quando si fa qualcosa di più complesso in ggplot2
) .
Ma, supponiamo di avere una variabile continua e un fattore e si desidera applicare l'istogramma su ciascuna parte della variabile continua, definita dai livelli dei fattori. È qui che le cose si complicano con le funzionalità del grafico di base.
# create dummy data
> set.seed(23)
> x <- rnorm(200, 23, 2.3)
> g <- factor(round(runif(200, 1, 4)))
Utilizzando i grafici di base (package:graphics
):
par(mfrow = c(1, 4))
tapply(x, g, hist)
ggplot2 modo:
qplot(x, facets = . ~ g)
Prova a fare questo con graphics
in una riga di codice (punto e virgola e funzioni personalizzate sono considerati barare!):
qplot(x, log(x), facets = . ~ g)
Speriamo che non ti abbia annoiato a morte, ma ti abbia aiutato!
Cordiali saluti,
aL3xa
sei legato a tracciare? So che questo è possibile usando ggplot2. – PaulHurleyuk
Niente affatto. In quale pacchetto è ggplot2? – amarillion
Come ha risposto Jonathan, ggplot2 ti consentirà di fare ciò, inoltre ti consentirà di modificare i punti in modo che due punti non si sovrappongano se hanno lo stesso valore y. Controlla il sito Web di Hadley http://had.co.nz/ggplot2/ – PaulHurleyuk