2017-04-24 5 views
0

Ich möchte meine Daten mit ggplot2 plotten. Meine Datenstruktur sieht wie folgt aus:Mindestens eine Ebene muss alle Variablen enthalten, die für die Facettierung verwendet werden.

str(res) 
'data.frame': 1161 obs. of 4 variables: 
$ gesamt  : num 66.6 32.9 52.5 23.9 17.7 ... 
$ ITEMGROUPID : chr "1011113" "1011113" "1011113" "1011113" ... 
$ Salesname : Factor w/ 2 levels "Hornbach Baumarkt CZ spol. s r.o.",..: 2 2 2 2 2 2 2 2 2 2 ... 
$ deliverydate: POSIXct, format: "2014-01-07" "2014-01-31" "2014-02-10" "2014-03-06" ... 

Ich möchte meine Daten mit diesem Code FACETT:

ggplot(data = res, aes(x = res$deliverydate, y = res$gesamt, colour = res$Salesname)) + 
geom_point() + 
facet_wrap(~res$ITEMGROUPID) 

aber ich bekomme diese Fehlermeldung:

Error in layout_base(data, vars, drop = drop) : 
    At least one layer must contain all variables used for facetting 

was soll ich tun, um Löse dieses Problem?

Ein reproduzierbares Beispiel:

> dput(head(res)) 
structure(list(gesamt = c(66.6, 32.86, 52.54, 23.89, 17.74, 45.05 
), ITEMGROUPID = c("1011113", "1011113", "1011113", "1011113", 
"1011113", "1011113"), Salesname = structure(c(2L, 2L, 2L, 2L, 
2L, 2L), .Label = c("Hornbach Baumarkt CZ spol. s r.o.", "Possling GmbH & Co. KG" 
), class = "factor"), deliverydate = structure(c(1389049200, 
1391122800, 1391986800, 1394060400, 1394751600, 1395874800), class = c("POSIXct", 
"POSIXt"), tzone = "")), .Names = c("gesamt", "ITEMGROUPID", 
"Salesname", "deliverydate"), row.names = c(NA, 6L), class = "data.frame") 
+0

Ich kann Ihren Fehler mit 'R Version 3.3.2 (2016-10-31)' und 'ggplot2 2.2.0' nicht reproduzieren. In welcher Version bist du? –

+0

R Version 3.3.2 (2016-10-31) und ggplot v2.1.0. Ich verwende Microsoft R-Client – Kaja

+3

Ihre Beispieldaten enthalten nur eine ID und daher ist es nicht möglich zu überprüfen, wo facet_warp fehlschlägt. Übrigens: Sie müssen keine Res in der facet_wrap Facette_wrap (~ ITEMGROUPID) hinzufügen. – timfaber

Antwort

-2

Dies sollte den Trick für Sie tun.

ggplot(data = res, aes(x = deliverydate, y = gesamt, colour = Salesname)) + 
geom_point() + facet_wrap(~ITEMGROUPID) 
Verwandte Themen