Domanda

alt text Ciao a tutti, Ho i seguenti dati fuso:

 X      variable       value    
1 StationA SAR11.cluster 0.001309292
2 StationB SAR11.cluster 0.002712237
3 StationC SAR11.cluster 0.002362708
4 StationD SAR11.cluster 0.002516751
5 StationE SAR11.cluster 0.004301075
6 StationF SAR11.cluster 0.0

.
.
.
etc.
etc.

ho usato il seguente codice per tracciare un diagramma a bolle dei dati:

ggplot(foomelt, aes(x=foomelt$Station, y=variable, angle=45, size=(value))) + 
+geom_point() +  opts(theme_bw(), axis.text.x = theme_text(size=10, angle = 70)) 
+ scale_area()

Tutto è bene, tranne che voglio ignorare i valori 0 (zero) e utilizzare solo per la scala dei valori di punti tra tutte quelle che sono grattugia di zeri e il valore massimo. Io non voglio eliminare i valori di zero righe dai dati perché al fine di dimostrare un punto che voglio tutte le stazioni e le variabili da includere e di avere quelle con il valore zero vuoto lasciato.

Sono riuscito a usare questo per ignorare i valori zero, ma il ridimensionamento non funziona:

   ggplot(foomelt, aes(x=foomelt$Station, y=variable, angle=45, size=(value>0))) +
    + geom_point() +  opts(theme_bw(), axis.text.x = theme_text(size=10, angle = 70)) 
    + scale_area("Ratio") + scale_size_identity()

tutto l'aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

io non sono sicuro se questo è quello che stai cercando, ma un approccio per ignorare i valori zero, mentre tracciando i punti è quello di modificare la geom_point () per

geom_point(subset = .(value > 0))

questa linea passa solo i valori non nulli nei frame di dati da tracciare.

Altri suggerimenti

solo per mostrare come ho usato di Ramnath suggerimenti (in modo da aiutare i novizi come me) (grazie!):

foo= read.csv('~/Desktop/foo.csv', header=T)
foomelt = melt(foo)
foomelt$Station<-factor(foomelt$Station, levels=unique(as.character(foo[[1]]))) #to keep the order of the x axis the same
                                                                                # as in the original file`
bigfoo <- subset(foomelt, value > 0) #use only those values that are larger than 0
ggplot(bigfoo, aes(x=bigfoo$Station, y=variable, angle=45, size=(value))) +  geom_point() 
+  opts(theme_bw(), axis.text.x   = theme_text(size=9, angle = 90)) + scale_area()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top