2014-11-14 6 views
6

Ich bin neu zu dplyr() Paket und versuche, es für meine Visualisierung zu verwenden. Ich bin in der Lage, meine Daten zu ggplot(), aber nicht mit plot(). Ich stieß auf this post und die Antworten einschließlich der in den Kommentaren, funktionierte nicht für mich.Mit dplyr, wie zu pipettieren oder zu verketten()?

Code 1:

emission <- mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions)) 

emission %>% 
    plot(year, total,.) 

bekomme ich folgende Fehlermeldung:

Error in plot(year, total, emission) : object 'year' not found 

Code 2:

mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions))%>% 
    plot(year, total, .) 

Dies entweder nicht funktioniert hat und wieder den gleichen Fehler.

Interessanterweise funktioniert die Lösung aus dem Post, die ich erwähnte, für den gleichen Datensatz, aber nicht für meine eigenen Daten. Allerdings kann ich das Diagramm mit Emission $ Jahr und Emission $ Gesamt erstellen.

Fehle ich etwas?

+3

Wie in der Antwort auf die Frage gezeigt, die Sie verknüpft haben, ist es "plot.formula", das das Argument "data" hat. Du müsstest also 'plot (total ~ year,.)' Verwenden. – aosmith

+0

@aosmith Vielen Dank für die Klarstellung. Es funktionierte. – sadiqsaleem

+0

Dies funktioniert auch ohne Angabe des '.' - so können Sie z. 'Handlung (gesamt ~ Jahr)'. –

Antwort

7

plot.default keine Daten Argument nehmen, so dass Ihre beste Wette Rohr with ist:

mynei %>% 
    select(Emissions, year) %>% 
    group_by(year) %>% 
    summarise (total=sum(Emissions))%>% 
    with(plot(year, total)) 

Falls jemand @ AOSMITH Kommentar auf die Frage verpasst, plot.formulatut ein Daten Argument haben, aber natürlich ist die formula das erste Argument, also müssen wir die . verwenden, um die Daten an den richtigen Ort zu bringen. Also eine weitere Option ist

... %>% 
    plot(total ~ year, data = .) 

Natürlich ggplot nimmt data als erstes Argument, so ggplot zu verwenden tun:

... %>% 
    ggplot(aes(x = year, y = total)) + geom_point() 

lattice::xyplot ist wie plot.formula: ein Datenargument ist, aber es ist nicht in erster , so:

Schauen Sie sich einfach die Dokumentation an und stellen Sie sicher, dass Sie eineverwendenwenn data nicht das erste Argument ist. Wenn es überhaupt kein data Argument gibt, ist die Verwendung von with ein guter Workaround.

+0

Danke @Gregor. Es hat auch funktioniert. – sadiqsaleem

Verwandte Themen