Wachstums Graph erstellen

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
laura_96
Beiträge: 2
Registriert: Do Jan 16, 2020 9:19 pm

Wachstums Graph erstellen

Beitrag von laura_96 »

Guten tag: Ich habe mir folgenden Datenframe berechnet:

Code: Alles auswählen


"/" <- function(x,y) ifelse(y==0,0,base:::"/"(x,y))

#calculate the inflationrates
n <- length(CPI.germany1$CPI)
infl <- CPI.germany1$CPI[13:n]/CPI.german1y$CPI[1:(n-12)]

# adjust the date column
date <- CPI.germany1$Date
datenew<- date[13:252]

#control
length(datenew)
length(infl)
 
 #create a dataframe
 df<- data.frame(infl,datenew)
 
            infl    datenew
1    1.08182862 1991-01-15
2    1.08195654 1991-02-15
3    1.08191389 1991-03-15
4    1.22093054 1991-04-15
5    1.28206524 1991-05-15
6    1.56516705 1991-06-15
7    2.01404189 1991-07-15
8    1.58665134 1991-08-15
9    1.35936133 1991-09-15
10   1.10049585 1991-10-15
11   1.33940527 1991-11-15
12   1.48476842 1991-12-15
13   1.36017045 1992-01-15
14   1.45750710 1992-02-15
15   1.55460991 1992-03-15
16   1.65197729 1992-04-15
 

Ich würde jetzt gerne aus infl und datenew eine Grafik erstellen, wie sie im Anhang ersichtlich ist.
Ich weiss, dass dies am besten mit ggplot möglich ist oder?
Jedoch komme ich leider auf keinen geeigneten Code

Es wäre toll, wenn mir jemand helfen könnte! Bin "R" Anfängerin


Liebe Grüße

Laura
Dateianhänge
graph.png
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wachstums Graph erstellen

Beitrag von bigben »

Wow, für eine R Anfängerin ist das hier eine starke Leistung:

Code: Alles auswählen

"/" <- function(x,y) ifelse(y==0,0,base:::"/"(x,y))
Mit Deinen nur 16 Datenpunkten sieht die Grafik halt nicht so spektakulär aus. Wie gefällt Dir das hier?

Code: Alles auswählen

df<- read.table(header=TRUE, text="
line infl    datenew
1    1.08182862 1991-01-15
2    1.08195654 1991-02-15
3    1.08191389 1991-03-15
4    1.22093054 1991-04-15
5    1.28206524 1991-05-15
6    1.56516705 1991-06-15
7    2.01404189 1991-07-15
8    1.58665134 1991-08-15
9    1.35936133 1991-09-15
10   1.10049585 1991-10-15
11   1.33940527 1991-11-15
12   1.48476842 1991-12-15
13   1.36017045 1992-01-15
14   1.45750710 1992-02-15
15   1.55460991 1992-03-15
16   1.65197729 1992-04-15")

df$datenew=as.Date(df$datenew)
library(ggplot2)
plot(infl ~ datenew, data = df, type="l", col="darkgreen")
abline(h=1.3, col="darkred")
oder ist das hier besser?

Code: Alles auswählen

qplot(x=datenew, y=infl, data = df, geom = "line")
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
laura_96
Beiträge: 2
Registriert: Do Jan 16, 2020 9:19 pm

Re: Wachstums Graph erstellen

Beitrag von laura_96 »

Hallo Bernhard,

vielen Dank für die schnelle Antwort! Ich habe viel auch geschafft mit Suchen im Internet. Aber beim erstellen der Grafik bin
ich schlussendlich gescheitert. Eigentlich hat mein Datensatz 240 Datenpunkte. Ich dachte nur, dass ich nicht alle reinschicken muss/soll.
Passt deine Antwort dann trotzdem noch, oder soll ich etwas ändern?

Code: Alles auswählen

     
           infl    datenew
1    1.08182862 1991-01-15
2    1.08195654 1991-02-15
3    1.08191389 1991-03-15
4    1.22093054 1991-04-15
5    1.28206524 1991-05-15
6    1.56516705 1991-06-15
7    2.01404189 1991-07-15
8    1.58665134 1991-08-15
9    1.35936133 1991-09-15
10   1.10049585 1991-10-15
11   1.33940527 1991-11-15
12   1.48476842 1991-12-15
13   1.36017045 1992-01-15
14   1.45750710 1992-02-15
15   1.55460991 1992-03-15
16   1.65197729 1992-04-15
17   1.52501513 1992-05-15
18   1.28845273 1992-06-15
19   0.72256184 1992-07-15
20   0.80264866 1992-08-15
21   0.85798948 1992-09-15
22   0.96537388 1992-10-15
23   0.82768114 1992-11-15
24   0.82768114 1992-12-15
25   0.96169629 1993-01-15
26   0.92726435 1993-02-15
27   0.86690128 1993-03-15
28   0.75772949 1993-04-15
29   0.78189148 1993-05-15
30   0.80750829 1993-06-15
31   1.04346403 1993-07-15
32   1.00231691 1993-08-15
33   1.04361196 1993-09-15
34   1.00519407 1993-10-15
35   0.92808488 1993-11-15
36   0.96675517 1993-12-15
37   0.79112561 1994-01-15
38   0.72986259 1994-02-15
39   0.69672271 1994-03-15
40   0.71473288 1994-04-15
41   0.71480053 1994-05-15
42   0.71483414 1994-06-15
43   0.67889958 1994-07-15
44   0.75064588 1994-08-15
45   0.71473288 1994-09-15
46   0.70618967 1994-10-15
47   0.76718234 1994-11-15
48   0.73554686 1994-12-15
49   0.71739130 1995-01-15
50   0.70694241 1995-02-15
51   0.74157455 1995-03-15
52   0.73098878 1995-04-15
53   0.63356494 1995-05-15
54   0.63358570 1995-06-15
55   1.12986924 1995-07-15
56   0.55633431 1995-08-15
57   0.87718646 1995-09-15
58   0.66779633 1995-10-15
59   0.51373724 1995-11-15
60   0.61650381 1995-12-15
61   0.63329167 1996-01-15
62   0.73505598 1996-02-15
63   0.73505598 1996-03-15
64   0.71965151 1996-04-15
65   0.90815150 1996-05-15
66   0.90817003 1996-06-15
67   0.48636919 1996-07-15
68   0.90303584 1996-08-15
69   0.59748028 1996-09-15
70   0.98385112 1996-10-15
71   1.18509264 1996-11-15
72   0.98514863 1996-12-15
73   1.52446647 1997-01-15
74   1.06738241 1997-02-15
75   1.06738241 1997-03-15
76   1.07618559 1997-04-15
77   1.06740201 1997-05-15
78   1.06742144 1997-06-15
79   1.70404520 1997-07-15
80   1.79373225 1997-08-15
81   1.61435888 1997-09-15
82   1.28691002 1997-10-15
83   1.47796815 1997-11-15
84   1.39593468 1997-12-15
85   0.57614359 1998-01-15
86   0.83286857 1998-02-15
87   0.75715319 1998-03-15
88   0.98548961 1998-04-15
89   0.83288506 1998-05-15
90   0.83290085 1998-06-15
91   0.36005783 1998-07-15
92   0.19522673 1998-08-15
93   0.21743758 1998-09-15
94   0.23050370 1998-10-15
95   0.21743188 1998-11-15
96   0.17288637 1998-12-15
97   0.19761080 1999-01-15
98   0.08971759 1999-02-15
99   0.19761304 1999-03-15
100  0.41070744 1999-04-15
101  0.35887407 1999-05-15
102  0.35887998 1999-06-15
103  0.70836163 1999-07-15
104  1.49287386 1999-08-15
105  1.49285743 1999-09-15
106  1.49284823 1999-10-15
107  1.99046430 1999-11-15
108  3.32142748 1999-12-15
109  6.48449669 2000-01-15
110 12.98447017 2000-02-15
111  6.48453677 2000-03-15
112  1.78933565 2000-04-15
113  1.99052269 2000-05-15
114  2.73698342 2000-06-15
115  2.18704392 2000-07-15
116  1.65487399 2000-08-15
117  2.31678347 2000-09-15
118  2.31676588 2000-10-15
119  1.60965207 2000-11-15
120  1.68000027 2000-12-15
121  0.90899240 2001-01-15
122  1.21201213 2001-02-15
123  1.21201213 2001-03-15
124  2.19877507 2001-04-15
125  2.97183149 2001-05-15
126  1.88455839 2001-06-15
127  1.61543312 2001-07-15
128  1.77902132 2001-08-15
129  1.12425265 2001-09-15
130  1.12423067 2001-10-15
131  0.98488366 2001-11-15
132  0.80738200 2001-12-15
133  1.47916612 2002-01-15
134  0.98158800 2002-02-15
135  1.10428616 2002-03-15
136  0.63510880 2002-04-15
137  0.44577640 2002-05-15
138  0.46478803 2002-06-15
139  0.54416602 2002-07-15
140  0.59855417 2002-08-15
141  0.67494309 2002-09-15
142  0.67492864 2002-10-15
143  0.75777572 2002-11-15
144  0.70293492 2002-12-15
145  0.48979592 2003-01-15
146  0.67507062 2003-02-15
147  0.54428183 2003-03-15
148  0.60635557 2003-04-15
149  0.44890850 2003-05-15
150  0.79098111 2003-06-15
151  0.88986542 2003-07-15
152  0.89781701 2003-08-15
153  0.80803499 2003-09-15
154  0.89780399 2003-10-15
155  1.08754272 2003-11-15
156  0.98877606 2003-12-15
157  1.09988750 2004-01-15
158  0.62855106 2004-02-15
159  0.88996590 2004-03-15
160  1.85822014 2004-04-15
161  3.77869888 2004-05-15
162  1.98212141 2004-06-15
163  1.75994017 2004-07-15
164  1.68104730 2004-08-15
165  1.75992060 2004-09-15
166  1.68102666 2004-10-15
167  1.52643903 2004-11-15
168  1.97780340 2004-12-15
169  1.28557185 2005-01-15
170  2.12624640 2005-02-15
171  1.76011816 2005-03-15
172  0.72123227 2005-04-15
173  0.56687253 2005-05-15
174  0.73682797 2005-06-15
175  0.85966551 2005-07-15
176  0.80821241 2005-08-15
177  1.04385977 2005-09-15
178  0.98138006 2005-10-15
179  0.92361348 2005-11-15
180  0.63588475 2005-12-15
181  1.28909284 2006-01-15
182  1.11481461 2006-02-15
183  0.79840023 2006-03-15
184  1.61679865 2006-04-15
185  1.43719233 2006-05-15
186  1.39824815 2006-06-15
187  1.19594745 2006-07-15
188  0.98491378 2006-08-15
189  0.57747092 2006-09-15
190  0.57748284 2006-10-15
191  0.79847601 2006-11-15
192  0.98608156 2006-12-15
193  0.92399068 2007-01-15
194  0.92406413 2007-02-15
195  1.36536457 2007-03-15
196  1.08978892 2007-04-15
197  1.22867789 2007-05-15
198  1.03967489 2007-06-15
199  1.09751984 2007-07-15
200  1.40733955 2007-08-15
201  2.47337671 2007-09-15
202  2.57233957 2007-10-15
203  2.35163683 2007-11-15
204  2.27601352 2007-12-15
205  1.65898921 2008-01-15
206  1.65910895 2008-02-15
207  1.63518695 2008-03-15
208  1.12599170 2008-04-15
209  1.41972877 2008-05-15
210  1.68986273 2008-06-15
211  1.65098087 2008-07-15
212  1.46881509 2008-08-15
213  1.05199168 2008-09-15
214  0.86080586 2008-10-15
215  0.40596664 2008-11-15
216  0.35540780 2008-12-15
217  0.32409319 2009-01-15
218  0.39615979 2009-02-15
219  0.12926428 2009-03-15
220  0.29721243 2009-04-15
221  0.00000000 2009-05-15
222  0.03124687 2009-06-15
223 -0.15122501 2009-07-15
224  0.00000000 2009-08-15
225 -0.07205578 2009-09-15
226  0.00000000 2009-10-15
227  0.30362721 2009-11-15
228  0.71917566 2009-12-15
229  0.77065664 2010-01-15
230  0.44948984 2010-02-15
231  2.98783784 2010-03-15
232  1.70213914 2010-04-15
233  0.00000000 2010-05-15
234  8.99093085 2010-06-15
235 -2.21110897 2010-07-15
236  0.00000000 2010-08-15
237 -6.01214473 2010-09-15
238  0.00000000 2010-10-15
239  3.73481934 2010-11-15
240  1.61194714 2010-12-15

bigben hat geschrieben: Do Jan 16, 2020 9:32 pm Wow, für eine R Anfängerin ist das hier eine starke Leistung:

Code: Alles auswählen

"/" <- function(x,y) ifelse(y==0,0,base:::"/"(x,y))
Mit Deinen nur 16 Datenpunkten sieht die Grafik halt nicht so spektakulär aus. Wie gefällt Dir das hier?

Code: Alles auswählen

df<- read.table(header=TRUE, text="
line infl    datenew
1    1.08182862 1991-01-15
2    1.08195654 1991-02-15
3    1.08191389 1991-03-15
4    1.22093054 1991-04-15
5    1.28206524 1991-05-15
6    1.56516705 1991-06-15
7    2.01404189 1991-07-15
8    1.58665134 1991-08-15
9    1.35936133 1991-09-15
10   1.10049585 1991-10-15
11   1.33940527 1991-11-15
12   1.48476842 1991-12-15
13   1.36017045 1992-01-15
14   1.45750710 1992-02-15
15   1.55460991 1992-03-15
16   1.65197729 1992-04-15")

df$datenew=as.Date(df$datenew)
library(ggplot2)
plot(infl ~ datenew, data = df, type="l", col="darkgreen")
abline(h=1.3, col="darkred")
oder ist das hier besser?

Code: Alles auswählen

qplot(x=datenew, y=infl, data = df, geom = "line")
LG,
Bernhard
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wachstums Graph erstellen

Beitrag von bigben »

laura_96 hat geschrieben: Do Jan 16, 2020 9:46 pmEigentlich hat mein Datensatz 240 Datenpunkte. Ich dachte nur, dass ich nicht alle reinschicken muss/soll.
Passt deine Antwort dann trotzdem noch, oder soll ich etwas ändern?


Das hast Du shcon ganz richtig gemacht - und - ja, beide Antworten passen bzw. beide passen sich automatisch jedem Datenumfang an. Die eine Variante nutzt übrigens ggplot2, die andere base. Soviel zu
Ich weiss, dass dies am besten mit ggplot möglich ist oder?
Viel Spaß damit,
Bernhard

Rplot01.jpeg
[

Code: Alles auswählen

df<- read.table(header=TRUE, text="
               line  infl    datenew
                1    1.08182862 1991-01-15
                2    1.08195654 1991-02-15
                3    1.08191389 1991-03-15
                4    1.22093054 1991-04-15
                5    1.28206524 1991-05-15
                6    1.56516705 1991-06-15
                7    2.01404189 1991-07-15
                8    1.58665134 1991-08-15
                9    1.35936133 1991-09-15
                10   1.10049585 1991-10-15
                11   1.33940527 1991-11-15
                12   1.48476842 1991-12-15
                13   1.36017045 1992-01-15
                14   1.45750710 1992-02-15
                15   1.55460991 1992-03-15
                16   1.65197729 1992-04-15
                17   1.52501513 1992-05-15
                18   1.28845273 1992-06-15
                19   0.72256184 1992-07-15
                20   0.80264866 1992-08-15
                21   0.85798948 1992-09-15
                22   0.96537388 1992-10-15
                23   0.82768114 1992-11-15
                24   0.82768114 1992-12-15
                25   0.96169629 1993-01-15
                26   0.92726435 1993-02-15
                27   0.86690128 1993-03-15
                28   0.75772949 1993-04-15
                29   0.78189148 1993-05-15
                30   0.80750829 1993-06-15
                31   1.04346403 1993-07-15
                32   1.00231691 1993-08-15
                33   1.04361196 1993-09-15
                34   1.00519407 1993-10-15
                35   0.92808488 1993-11-15
                36   0.96675517 1993-12-15
                37   0.79112561 1994-01-15
                38   0.72986259 1994-02-15
                39   0.69672271 1994-03-15
                40   0.71473288 1994-04-15
                41   0.71480053 1994-05-15
                42   0.71483414 1994-06-15
                43   0.67889958 1994-07-15
                44   0.75064588 1994-08-15
                45   0.71473288 1994-09-15
                46   0.70618967 1994-10-15
                47   0.76718234 1994-11-15
                48   0.73554686 1994-12-15
                49   0.71739130 1995-01-15
                50   0.70694241 1995-02-15
                51   0.74157455 1995-03-15
                52   0.73098878 1995-04-15
                53   0.63356494 1995-05-15
                54   0.63358570 1995-06-15
                55   1.12986924 1995-07-15
                56   0.55633431 1995-08-15
                57   0.87718646 1995-09-15
                58   0.66779633 1995-10-15
                59   0.51373724 1995-11-15
                60   0.61650381 1995-12-15
                61   0.63329167 1996-01-15
                62   0.73505598 1996-02-15
                63   0.73505598 1996-03-15
                64   0.71965151 1996-04-15
                65   0.90815150 1996-05-15
                66   0.90817003 1996-06-15
                67   0.48636919 1996-07-15
                68   0.90303584 1996-08-15
                69   0.59748028 1996-09-15
                70   0.98385112 1996-10-15
                71   1.18509264 1996-11-15
                72   0.98514863 1996-12-15
                73   1.52446647 1997-01-15
                74   1.06738241 1997-02-15
                75   1.06738241 1997-03-15
                76   1.07618559 1997-04-15
                77   1.06740201 1997-05-15
                78   1.06742144 1997-06-15
                79   1.70404520 1997-07-15
                80   1.79373225 1997-08-15
                81   1.61435888 1997-09-15
                82   1.28691002 1997-10-15
                83   1.47796815 1997-11-15
                84   1.39593468 1997-12-15
                85   0.57614359 1998-01-15
                86   0.83286857 1998-02-15
                87   0.75715319 1998-03-15
                88   0.98548961 1998-04-15
                89   0.83288506 1998-05-15
                90   0.83290085 1998-06-15
                91   0.36005783 1998-07-15
                92   0.19522673 1998-08-15
                93   0.21743758 1998-09-15
                94   0.23050370 1998-10-15
                95   0.21743188 1998-11-15
                96   0.17288637 1998-12-15
                97   0.19761080 1999-01-15
                98   0.08971759 1999-02-15
                99   0.19761304 1999-03-15
                100  0.41070744 1999-04-15
                101  0.35887407 1999-05-15
                102  0.35887998 1999-06-15
                103  0.70836163 1999-07-15
                104  1.49287386 1999-08-15
                105  1.49285743 1999-09-15
                106  1.49284823 1999-10-15
                107  1.99046430 1999-11-15
                108  3.32142748 1999-12-15
                109  6.48449669 2000-01-15
                110 12.98447017 2000-02-15
                111  6.48453677 2000-03-15
                112  1.78933565 2000-04-15
                113  1.99052269 2000-05-15
                114  2.73698342 2000-06-15
                115  2.18704392 2000-07-15
                116  1.65487399 2000-08-15
                117  2.31678347 2000-09-15
                118  2.31676588 2000-10-15
                119  1.60965207 2000-11-15
                120  1.68000027 2000-12-15
                121  0.90899240 2001-01-15
                122  1.21201213 2001-02-15
                123  1.21201213 2001-03-15
                124  2.19877507 2001-04-15
                125  2.97183149 2001-05-15
                126  1.88455839 2001-06-15
                127  1.61543312 2001-07-15
                128  1.77902132 2001-08-15
                129  1.12425265 2001-09-15
                130  1.12423067 2001-10-15
                131  0.98488366 2001-11-15
                132  0.80738200 2001-12-15
                133  1.47916612 2002-01-15
                134  0.98158800 2002-02-15
                135  1.10428616 2002-03-15
                136  0.63510880 2002-04-15
                137  0.44577640 2002-05-15
                138  0.46478803 2002-06-15
                139  0.54416602 2002-07-15
                140  0.59855417 2002-08-15
                141  0.67494309 2002-09-15
                142  0.67492864 2002-10-15
                143  0.75777572 2002-11-15
                144  0.70293492 2002-12-15
                145  0.48979592 2003-01-15
                146  0.67507062 2003-02-15
                147  0.54428183 2003-03-15
                148  0.60635557 2003-04-15
                149  0.44890850 2003-05-15
                150  0.79098111 2003-06-15
                151  0.88986542 2003-07-15
                152  0.89781701 2003-08-15
                153  0.80803499 2003-09-15
                154  0.89780399 2003-10-15
                155  1.08754272 2003-11-15
                156  0.98877606 2003-12-15
                157  1.09988750 2004-01-15
                158  0.62855106 2004-02-15
                159  0.88996590 2004-03-15
                160  1.85822014 2004-04-15
                161  3.77869888 2004-05-15
                162  1.98212141 2004-06-15
                163  1.75994017 2004-07-15
                164  1.68104730 2004-08-15
                165  1.75992060 2004-09-15
                166  1.68102666 2004-10-15
                167  1.52643903 2004-11-15
                168  1.97780340 2004-12-15
                169  1.28557185 2005-01-15
                170  2.12624640 2005-02-15
                171  1.76011816 2005-03-15
                172  0.72123227 2005-04-15
                173  0.56687253 2005-05-15
                174  0.73682797 2005-06-15
                175  0.85966551 2005-07-15
                176  0.80821241 2005-08-15
                177  1.04385977 2005-09-15
                178  0.98138006 2005-10-15
                179  0.92361348 2005-11-15
                180  0.63588475 2005-12-15
                181  1.28909284 2006-01-15
                182  1.11481461 2006-02-15
                183  0.79840023 2006-03-15
                184  1.61679865 2006-04-15
                185  1.43719233 2006-05-15
                186  1.39824815 2006-06-15
                187  1.19594745 2006-07-15
                188  0.98491378 2006-08-15
                189  0.57747092 2006-09-15
                190  0.57748284 2006-10-15
                191  0.79847601 2006-11-15
                192  0.98608156 2006-12-15
                193  0.92399068 2007-01-15
                194  0.92406413 2007-02-15
                195  1.36536457 2007-03-15
                196  1.08978892 2007-04-15
                197  1.22867789 2007-05-15
                198  1.03967489 2007-06-15
                199  1.09751984 2007-07-15
                200  1.40733955 2007-08-15
                201  2.47337671 2007-09-15
                202  2.57233957 2007-10-15
                203  2.35163683 2007-11-15
                204  2.27601352 2007-12-15
                205  1.65898921 2008-01-15
                206  1.65910895 2008-02-15
                207  1.63518695 2008-03-15
                208  1.12599170 2008-04-15
                209  1.41972877 2008-05-15
                210  1.68986273 2008-06-15
                211  1.65098087 2008-07-15
                212  1.46881509 2008-08-15
                213  1.05199168 2008-09-15
                214  0.86080586 2008-10-15
                215  0.40596664 2008-11-15
                216  0.35540780 2008-12-15
                217  0.32409319 2009-01-15
                218  0.39615979 2009-02-15
                219  0.12926428 2009-03-15
                220  0.29721243 2009-04-15
                221  0.00000000 2009-05-15
                222  0.03124687 2009-06-15
                223 -0.15122501 2009-07-15
                224  0.00000000 2009-08-15
                225 -0.07205578 2009-09-15
                226  0.00000000 2009-10-15
                227  0.30362721 2009-11-15
                228  0.71917566 2009-12-15
                229  0.77065664 2010-01-15
                230  0.44948984 2010-02-15
                231  2.98783784 2010-03-15
                232  1.70213914 2010-04-15
                233  0.00000000 2010-05-15
                234  8.99093085 2010-06-15
                235 -2.21110897 2010-07-15
                236  0.00000000 2010-08-15
                237 -6.01214473 2010-09-15
                238  0.00000000 2010-10-15
                239  3.73481934 2010-11-15
                240  1.61194714 2010-12-15")

df$datenew=as.Date(df$datenew)
plot(infl ~ datenew, data = df, type="l", col="darkgreen",
     xlab="Zeit", ylab="Inflation")
abline(h=0, col="grey")
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten