Wie erhält man ein Diagramm mit einem Durchschnittswert von R

Ich habe verschiedene Viertel wie

Quarter           GrossMargin
2009 Q1           17.60%

2009 Q1            17.80%

2010 Q2             18.50%

2011 Q1             21.60%

Siehe wie folgt Ich habe große Datenmenge. Ich möchte das in R aufzeichnen. Ich habe es benutztqplot(df$Quarter, df$GrossMargin, binwidth=.5)

Es kamen Punkte an den Datenpunkten jedes Vorkommens. Wie in der X-Achse 2009 Q1 gibt es in der Y-Achse zwei Datenpunkte, einen bei 17,6 und einen bei 17,8. Aber ich möchte einen Durchschnittswert für jedes Quartal, wie in der X-Achse 2009 Q1 sollte dem Einzelwert in der Y-Achse entsprechen (das ist ein Durchschnitt von 17,6 und 17,8). Wenn ich meine (GrossMargin) zu tun versuchen, gibt es Mittelwert der ganzen Spalte, die keinen Nutzen hat. Alle meine Quartale (2009-Q1, Q2, Q3, 2010-Q1, Q2, Q3) befinden sich in einer Spalte und die entsprechenden Werte von GrossMargin in einer anderen Spalte. Wie das geht in R

        Order.Id    ProductID   UnitPrice   UnitCost    Quantity    Order.Date  TotalUnitPrice  Quarter GrossMargin Customer.Id TotalUnitCost
1   24849   BDM10023    28.87   23.8    1   01-01-2009  28.87   2009 Q1 17.60%  10025   23.8
2   24849   1283484PMR29    77.84   64  2   01-01-2009  155.68  2009 Q1 17.80%  10025   128
3   24850   1283484SST30    25.78   20  4   01-02-2009  103.12  2009 Q1 22.40%  10096   80
4   24852   GFO20015    8.2 6.75    1   01-02-2009  8.2 2009 Q1 17.70%  10062   6.75
5   24852   OCM10018    8.24    6.8 2   01-02-2009  16.48   2009 Q1 17.50%  10062   13.6
6   24852   BDM10021    8.24    6.8 4   01-02-2009  32.96   2009 Q1 17.50%  10062   27.2
7   24852   POW20011    11.33   9.25    4   01-02-2009  45.32   2009 Q1 18.40%  10062   37
8   24852   AP6011  9.22    7.5 2   01-02-2009  18.44   2009 Q1 18.70%  10062   15
9   24852   POW30012    8.24    6.5 2   01-02-2009  16.48   2009 Q1 21.10%  10062   13
10  24852   PPF20017    11.86   10.25   1   01-02-2009  11.86   2009 Q1 13.60%  10062   10.25
11  24853   AP3008  8.2 6.75    1   01-02-2009  8.2 2009 Q1 17.70%  10030   6.75
12  24855   VEV10023    8.2 6.75    1   01-03-2009  8.2 2009 Q1 17.70%  10037   6.75
13  24855   AP6006  7.73    6.3 2   01-03-2009  15.46   2009 Q1 18.50%  10037   12.6
14  24855   AP5010  8.2 6.75    2   01-03-2009  16.4    2009 Q1 17.70%  10037   13.5
15  24856   1283484PMS30    7.21    5.9 2   01-03-2009  14.42   2009 Q1 18.20%  10078   11.8
16  24857   AP4009  7.16    5   2   01-03-2009  14.32   2009 Q1 30.20%  10032   10
17  24857   GFO10014    7.16    5.9 2   01-03-2009  14.32   2009 Q1 17.60%  10032   11.8
18  24858   AP3003  6.17    5   1   01-04-2009  6.17    2009 Q1 19.00%  10243   5
19  24858   OWW3009 10.25   8.75    1   01-04-2009  10.25   2009 Q1 14.60%  10243   8.75
20  24858   BDM10022    6.18    5.1 1   01-04-2009  6.18    2009 Q1 17.50%  10243   5.1
21  24858   AP2008  6.13    5   1   01-04-2009  6.13    2009 Q1 18.40%  10243   5
22  24858   AP5005  6.7 5.25    1   01-04-2009  6.7 2009 Q1 21.60%  10243   5.25
23  24859   POW30012    8.24    6.5 2   01-04-2009  16.48   2009 Q1 21.10%  10052   13
24  24860   POW20011    11.33   9.25    4   01-04-2009  45.32   2009 Q1 18.40%  10019   37
25  24861   POW10010    18.14   15  2   01-04-2009  36.28   2009 Q1 17.30%  13710   30
26  24861   OWW3009 10.25   8.75    1   01-04-2009  10.25   2009 Q1 14.60%  13710   8.75
27  24862   1283484CPN28    13.35   11  4   01-04-2009  53.4    2009 Q1 17.60%  15310   44

Fügen Sie dies in Excel ein. Ich habe diese Excel-Datei mit dem Schreibbefehl in R erstellt. Die Originaldatei enthält etwa 10000 Datensätze

  > str(df)
'data.frame':   29487 obs. of  11 variables:
 $ Order.Id      : num  24849 24849 24850 24852 24852 ...
 $ ProductID     : Factor w/ 42 levels "1202020SFB25",..: 24 4 7 29 31 22 36 19 37 39 ...
 $ UnitPrice     : num  28.87 77.84 25.78 8.2 8.24 ...
 $ UnitCost      : num  23.8 64 20 6.75 6.8 ...
 $ Quantity      : num  1 2 4 1 2 4 4 2 2 1 ...
 $ Order.Date    : Factor w/ 1261 levels "1/1/2009","1/1/2010",..: 1 1 45 45 45 45 45 45 45 45 ...
 $ TotalUnitPrice: num  28.9 155.7 103.1 8.2 16.5 ...
 $ Quarter       : chr  "2009 Q1" "2009 Q1" "2009 Q1" "2009 Q1" ...
 $ TotalUnitCost : num  23.8 128 80 6.75 13.6 ...
 $ GrossMargin   : chr  "17.6%" "17.8%" "22.4%" "17.7%" ...
 $ Customer.Id   : num  10025 10025 10096 10062 10062 ...
    > dput(df)

 15097, 15097, 12466, 12466, 15104, 15104, 15104, 15104, 15104, 
    15104, 15104, 15104, 15104, 15104, 15104, 15104, 15000, 15099, 
    15099, 15099, 15099, 15099, 15099, 15099, 15099, 15099, 15099, 
    15099, 15099, 15099, 15099, 15099, 15099, 15099, 15099, 15099, 
    15099, 15099, 15099, 14546, 14546, 14546, 14546, 14546, 15349, 
    15349, 15349, 14729, 14729, 14729, 15101, 15101, 15101, 15101, 
    15101, 15101, 15101, 15101, 15101, 15101, 15185, 15185, 15185, 
    15185, 15185, 15185, 15185, 15185, 10435, 10435, 10435, 10435, 
    10435, 10435, 10435, 15319, 15319, 15319, 15319, 15319, 15319, 
    15319, 15319, 15319, 15319, 15319, 15319, 15319, 15319, 15319, 
    15319, 15319, 15319, 15319, 15842, 15842, 15842, 15352, 15352, 
    15352, 15352, 15352, 15352, 15352, 15352, 12173, 10576, 10426, 
    11971, 15276, 15083, 15209, 15181, 15176, 15204, 15239, 15597, 
    15184, 15149, 15093, 15162, 10916, 15175, 13380, 15246, 15206, 
    14859, 12304, 12074, 15174, 13467, 12633, 13307, 10414, 10456, 
    15170, 15173, 15172, 15187, 15201, 16160, 15171, 11640, 12814, 
    16013, 10552, 15255, 14834, 14525, 15285, 15286, 15163, 15169, 
    15268, 15202, 14999, 15264, 15166, 15377, 15211, 14167, 15203, 
    15210, 12153, 15299, 15299, 15299, 15299, 15299, 15299, 15299, 
    15299, 15299, 15299, 15299, 15299, 15299, 15299, 15299, 15299, 
    15299, 15299, 15299, 15299, NA, NA)), .Names = c("Order.Id", 
"ProductID", "UnitPrice", "UnitCost", "Quantity", "Order.Date", 
"TotalUnitPrice", "Quarter", "TotalUnitCost", "GrossMargin", 
"Customer.Id"), row.names = c(NA, 29487L), class = "data.frame")

ist die Ausgabe einer Fensterkonsole

Antworten auf die Frage(2)

Ihre Antwort auf die Frage