2016-08-11 3 views
-2

1.wie Dollar in R verwenden

ggplot(data.combined[1:891,], aes(title[1:891], fill=as.factor(Survived[1:891])))+ 
    geom_bar(width = .5) + 
    facet_wrap(~Pclass+Sex) 

2.

ggplot(data.combined[1:891,], aes(dataframe$title[1:891], fill=as.factor(dataframe$Survived[1:891]))) + 
     geom_bar(width = .5) + 
     facet_wrap(~Pclass+Sex) 

Warum erhalte ich unterschiedliche Ergebnisse? Wie wird das $ verwendet?

+1

Bitte fügen Sie Beispieldaten und sehen [hier] (http://Stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) auf, wie man eine gute Frage –

+0

Sie muss selten $ in ggplot verwenden. Im ersten Code sollten Sie das [1: 891] im 'aes' –

+0

weglassen, wobei' $ 'Sie eine Spalte in Ihrem Datensatz angeben. Zum Beispiel wählt 'mydata $ col1' die Spalte' col1' aus der 'mydata' Datei. – mask

Antwort

1

Bevor Sie Ihre Frage zu beantworten, bei der Verwendung von ggplot Sie müssen die Daten nicht Teilmenge, nachdem es in ggplot()

Für Nummer eins Aufruf:

ggplot(data.combined[1:891,], aes(title, fill=as.factor(Survived)))+ 
    geom_bar(width = .5) + facet_wrap(~Pclass+Sex) 

Dies liegt daran, dass Sie die Namen referenzieren von die Spalten in Ihrem Datenrahmen aus dem Objekt in ggplot(data.combined[1:891,]).

Wenn Sie das nicht tun, werden ggplot die Spalten nehmen Sie aus bestimmten Datenrahmen Referenzierung werden (das gleiche in diesem Fall), wie Sie in aes(dataframe$title[1:891], fill=as.factor(dataframe$Survived[1:891])))

Im zweiten Beispiel sehen Sie Daten verweisen. kombiniert in ggplot() und Dataframe in aes().