4 Lab 2 - 23/10/2020
In questa lezione vedremo come importare dati disponibili in un file di tipo comma-separated (csv). Vedremo inoltre come analizzare i dati disponibili in un oggetto di tipo data frame.
4.1 Importazione dei dati
Il file Adjcloseprices.csv contiene i prezzi di alcuni titoli. Si noti che il file di tipo csv è di fatto un file di testo che può essere aperto con un editor di testo come TextNote, TextEdit o BloccoNote (si veda la Figura 4.1).
Ci sono 3 elementi che caratterizzano un file csv:
- header (intestazione): la prima riga del file che contiene solitamente i nomi delle variabili;
- il separatore di campo: il carattere utilizzato per separare le informazioni disponibili nel file (solitamente si utilizza il punto e virgola o la virgola);
- il separatore decimale: il carattere utilizzato per i decimali (solitamente si usa la virgola o il punto).
Dall’anteprima del file riportata in Figura 4.1 si nota che:
- le seguenti stringhe riportate nella prima riga rappresentano i nomi delle variabili: “Date”;“N225”;“DJI”;“IXIC”;“BTC.EUR”;“GSPC”;“STOXX50E”
- “;” è il separatore di campo;
- “.” è il separatore decimale.
Queste informazioni devono necessariamente essere specificate in R quando si importano dei dati da un file csv. La funzione che si utilizza è read.csv
i cui principali argomenti sono riportati di seguito (si veda anche ?read.csv
):
file
: il nome del file (specificato tra virgolette) da importare con eventualmente la specifica del percorso intero che porta alla cartella dove è contenuto il file;header
: valore logico (T
oF
) che indica se la prima riga del file contiene i nomi delle variabili;sep
: il carattere che rappresenta il separatore di campo (da specificare dentro le virgolette);dec
: il carattere che rappresenta il separatore decimale (da specificare dentro le virgolette).
Il seguente codice può quindi essere utilizzato per importare i dati disponibili in Adjcloseprices.csv. In particolare, il codice crea un oggetto di nome fdata
:
In alternativa è possibile utilizzare la funzionalità di RStudio per l’import dei dati: si veda qui per maggiori informazioni.
La funzionalità “Import Dataset” è disponibile nel pannello in alto a destra (environment) (si veda la Figura 4.2). Dopo aver scelto “From text (base)” è possibile specificare tutti i settaggi del file csv nella finestra “Import Dataset” che segue, così come mostrato in Figura 4.3.
Dopo aver cliccato su Import un oggeto di nome fdata
verrà creato. Si noti che di fatto RStudio utilizza la funzione read.csv
i cui argomenti vengono specificati tramite un’interfaccia user-friendly.
L’oggetto fdata
è un oggetto di tipo data.frame
:
## [1] "data.frame"
I data frame sono matrici di dati le cui righe si riferiscono ai soggetti (in questo caso ai diversi giorni finanziari) e le righe alle variabile (in questo caso le date e i prezzi dei titoli).
Utilizzando la funzione str
si ottengono informazion circa la tipologia delle variabili incluse nel data frame:
## 'data.frame': 1058 obs. of 7 variables:
## $ Date : chr "2014-09-09" "2014-09-10" "2014-09-11" "2014-09-12" ...
## $ N225 : num 366 368 369 367 360 ...
## $ DJI : num 17014 17069 17049 16988 17132 ...
## $ IXIC : num 15749 15789 15909 15948 15912 ...
## $ BTC.EUR : num 1988 1996 1997 1986 1999 ...
## $ GSPC : num 4552 4587 4592 4568 4553 ...
## $ STOXX50E: num 3245 3244 3238 3235 3222 ...
In questo caso la variabile Date
è di tipo qualitativo (chr
è l’abbreviazione di character, è quindi un vettore di stringhe di testo) mentre le altre variabili sono di tipo numerico (num
).
Utilizzando le funzioni head
e tail
è possibile ottenere visualizzare la parte superiore e inferiore del data frame:
## Date N225 DJI IXIC BTC.EUR GSPC STOXX50E
## 1 2014-09-09 366.01 17013.87 15749.15 1988.44 4552.29 3245.43
## 2 2014-09-10 368.35 17068.71 15788.78 1995.69 4586.52 3244.16
## 3 2014-09-11 369.29 17049.00 15909.20 1997.45 4591.81 3237.76
## 4 2014-09-12 367.49 16987.51 15948.29 1985.54 4567.60 3235.07
## 5 2014-09-16 359.56 17131.97 15911.53 1998.98 4552.76 3221.73
## 6 2014-09-17 353.98 17156.85 15888.67 2001.57 4562.19 3237.44
## Date N225 DJI IXIC BTC.EUR GSPC STOXX50E
## 1053 2019-05-08 5314.32 25967.33 21602.59 2879.42 7943.32 3417.26
## 1054 2019-05-09 5487.23 25828.36 21402.13 2870.72 7910.59 3350.71
## 1055 2019-05-10 5661.72 25942.37 21344.92 2881.40 7916.94 3361.05
## 1056 2019-05-13 6949.45 25324.99 21191.28 2811.87 7647.02 3320.78
## 1057 2019-05-14 7128.11 25532.05 21067.23 2834.41 7734.49 3364.38
## 1058 2019-05-15 7316.63 25648.02 21188.56 2850.96 7822.15 3385.78
Per ottenere informazioni circa le dimensioni del data frame (numero di righe e colonne) si possono utilizzare le seguenti funzioni alternative:
## [1] 1058
## [1] 7
## [1] 1058 7
4.2 Selezione di dati da un data frame
La selezione di dati da un data frame si effettua utilizzando le parentesi quadre, in maniera simile a quanto visto durante il Lab 1 per i vettori. Nel caso di data base però all’interno delle parentesi quadre dovranno essere specificati due indici, uno per le righe e uno per le colonne, separati da virgola. Per esempio il codice
## [1] 15948.29
seleziona l’elemento presente nella quarta riga e quarta colonna, corrispondente al prezzo del titolo IXIC (Nasdaq Composite index) per il giorno 2014-09-12.
Per selezionare più elementi è possibile utilizzare un vettore di indici:
## [1] 18199.17 18264.79 18332.30
Si noti che il vettore c(100,101,102)
rappresenta una sequenza regolare di passo 1 da 100 a 102 il cui codice può essere semplificato con 100:102
:
## [1] 18199.17 18264.79 18332.30
Per selezionare un’intera riga (contentente i prezzi di tutti i titoli per un particolare giorno) è necessario specificare solo l’indice di riga:
## Date N225 DJI IXIC BTC.EUR GSPC STOXX50E
## 4 2014-09-12 367.49 16987.51 15948.29 1985.54 4567.6 3235.07
In maniera simile, per estrarre i dati di un’intera colonna (corrispondenti in questo caso all’intera serie storica di prezzi per il titolo selezionato), si specifica solamente l’indice di colonna:
## [1] 15749.15 15788.78 15909.20 15948.29 15911.53 15888.67 16067.57 16321.17
## [9] 16205.90 16167.45 16374.14 16229.86 16310.64 16173.52 16082.25 15661.99
## [17] 15708.65 15890.95 15783.83 15595.98 15478.93 15300.55 14936.51 15073.52
## [25] 14738.38 14532.51 15111.23 14804.28 15195.77 15138.96 15291.64 15388.72
## [33] 15329.91 15553.91 15658.20 16413.76 16862.47 16937.32 16792.48 16880.38
## [41] 16780.53 17124.11 17197.05 17392.79 17490.83 16973.80 17344.06 17288.75
## [49] 17300.86 17357.51 17407.62 17383.58 17459.85 17590.10 17663.22 17720.43
## [57] 17887.21 17920.45 17935.64 17813.38 17412.58 17257.40 17371.58 17099.40
## [65] 16755.32 16819.73 17210.05 17621.40 17635.14 17729.84 17450.77 17408.71
## [73] 16883.19 16885.33 17167.10 17197.73 17087.71 16795.96 17108.70 16864.16
## [81] 17366.30 17280.48 17329.02 17511.75 17468.52 17768.30 17795.73 17606.22
## [89] 17674.39 17558.04 17335.85 17678.74 17504.62 17648.50 17711.93 17652.68
## [97] 17979.72 17913.36 17987.09 18199.17 18264.79 18332.30 18466.92 18603.48
## [105] 18585.20 18785.79 18797.94 18826.88 18815.16 18703.60 18751.84 18971.00
## [113] 18790.55 18665.11 18723.52 18991.11 19254.25 19246.06 19437.00 19544.48
## [121] 19476.56 19560.22 19754.36 19713.45 19746.20 19471.12 19285.63 19411.40
## [129] 19206.99 19034.84 19312.79 19640.54 19789.81 19937.72 19907.63 19905.46
## [137] 19908.68 19869.76 19885.77 19652.88 19634.49 19909.09 20133.90 20187.65
## [145] 20020.04 19983.32 20058.95 19520.01 19291.99 19379.19 19620.91 19624.84
## [153] 19764.72 19732.92 19890.27 20026.38 20196.56 20202.87 20264.41 20437.48
## [161] 20472.58 20551.46 20563.15 20569.87 20543.19 20473.51 20488.19 20460.90
## [169] 20457.19 20096.30 20046.36 20382.97 20407.08 20387.79 20257.94 20219.27
## [177] 19990.82 20174.24 20428.19 20809.42 20868.03 20771.40 20706.15 20109.95
## [185] 20235.73 20329.32 20522.50 20112.12 20376.59 19737.64 19855.50 19779.83
## [193] 20089.77 20385.33 20463.33 20600.12 20650.92 20841.97 20593.67 20683.95
## [201] 20544.53 20350.10 20328.89 20302.91 20522.83 20585.24 20548.11 20520.36
## [209] 20614.06 20664.44 20724.56 20808.69 20392.77 20595.55 20519.45 20620.26
## [217] 20554.47 20222.63 20033.52 19435.83 18540.68 17806.70 18376.83 18574.44
## [225] 19136.32 18890.48 18165.69 18095.40 18182.39 17792.16 17427.08 18770.51
## [233] 18299.62 18264.22 17965.70 18026.48 18171.60 18432.27 18070.21 17571.83
## [241] 17880.51 17645.11 16930.84 17388.15 17722.42 17725.13 18005.49 18186.10
## [249] 18322.98 18141.17 18438.67 18234.74 17891.00 18096.90 18291.80 18131.23
## [257] 18207.15 18554.28 18435.87 18825.30 18947.12 18777.04 18903.02 18935.71
## [265] 19083.10 18683.24 18926.91 19116.41 19265.60 19642.74 19671.26 19691.39
## [273] 19697.77 19596.91 19393.69 19630.63 19649.18 19859.81 19879.81 19924.89
## [281] 19847.58 19883.94 19747.47 20012.40 19938.13 19939.90 19504.48 19698.15
## [289] 19492.60 19301.07 19046.55 19230.48 18883.42 18565.90 19049.91 19353.56
## [297] 18986.80 18916.02 18886.70 18873.35 18982.23 19033.71 18450.98 18374.00
## [305] 18191.32 17767.34 17697.96 17218.96 17715.63 17240.95 17147.11 17048.37
## [313] 16416.19 16017.26 16958.53 17110.91 16708.90 17163.92 17041.45 17518.30
## [321] 17865.23 17750.68 17191.25 17044.99 16819.59 17004.30 16085.44 15713.39
## [329] 14952.61 16054.43 15836.36 16196.80 15967.17 16111.05 16052.05 15915.79
## [337] 16140.34 16188.41 16026.76 16085.51 16746.55 16960.16 17014.78 16911.32
## [345] 16783.15 16642.20 16852.35 16938.87 17233.75 17117.07 16974.45 16936.38
## [353] 16724.81 17000.98 16892.33 17103.53 16878.96 16758.67 16164.16 16123.27
## [361] 15732.82 15715.36 15749.84 15821.52 15751.13 15928.79 16381.22 16911.05
## [369] 16848.03 16275.95 16874.44 16906.54 17363.62 17572.49 17439.30 17290.49
## [377] 16666.05 16147.38 16106.72 16216.03 16579.01 16646.34 16652.80 16644.69
## [385] 16646.66 16736.35 16654.60 16498.76 16757.35 16772.46 16834.84 17234.98
## [393] 16955.73 16562.55 16642.23 16580.03 16675.45 16830.92 16668.41 16601.36
## [401] 16019.18 15859.00 15919.58 15434.14 15599.66 15965.30 16169.11 16065.72
## [409] 16238.35 14952.02 15309.21 15323.14 15566.83 15575.92 15682.48 15669.33
## [417] 15378.99 15276.24 15106.98 15708.82 16095.65 16231.43 16385.89 16497.85
## [425] 16723.31 16681.89 16810.22 16627.25 16620.29 16383.04 16664.82 16476.84
## [433] 16569.27 16391.45 16083.11 16254.89 16254.45 16650.57 16764.97 16735.12
## [441] 16919.92 16869.56 16596.51 16745.64 16486.01 16545.82 16598.19 16497.36
## [449] 16597.30 16555.95 16360.71 16737.49 16725.36 16887.40 16926.84 16925.68
## [457] 17081.98 17012.44 16958.77 16965.76 16672.92 16729.04 16614.24 16405.01
## [465] 16519.29 16492.15 16807.62 16754.02 16544.56 16683.93 16465.40 16693.71
## [473] 16449.84 16598.67 16735.65 16819.24 16899.10 16860.09 17024.76 16840.00
## [481] 16774.24 16856.37 16900.12 16963.61 16998.91 17235.50 17184.59 17234.42
## [489] 17365.25 17391.84 17336.42 17446.41 17425.02 17442.40 17134.68 16905.36
## [497] 17177.21 17171.38 16251.54 17344.42 17374.79 17672.62 17668.15 17862.21
## [505] 17862.63 17967.41 18106.02 18162.94 18381.22 18356.89 18307.04 18308.48
## [513] 18513.12 18426.08 18274.99 18360.54 18496.69 18765.47 18996.37 19155.03
## [521] 19250.52 19253.61 19273.79 19401.15 19391.60 19494.53 19444.49 19427.67
## [529] 19403.06 19401.72 19145.14 19114.37 19594.16 19520.69 19454.33 19301.44
## [537] 19364.67 19134.70 19287.28 18813.53 18894.37 19072.25 19137.91 18891.03
## [545] 18787.99 19057.50 19402.39 19467.40 19368.85 19041.34 19148.08 18914.58
## [553] 18918.20 18976.71 18910.78 19007.60 18907.67 19378.93 19459.15 19238.98
## [561] 19437.98 19347.53 19234.62 19381.44 19379.87 19371.46 19283.54 19107.47
## [569] 19118.99 19393.54 19564.80 19469.17 19379.14 19344.15 19254.03 19318.58
## [577] 19604.61 19633.75 19609.50 19577.38 19590.14 19521.59 19455.88 19041.38
## [585] 19085.31 19262.53 18985.59 19202.87 19217.48 19063.22 18909.26 18983.23
## [593] 18810.25 18861.27 18597.06 18664.63 18797.88 18747.87 18552.61 18426.84
## [601] 18418.59 18432.20 18430.49 18620.75 18875.88 19079.33 19289.43 19251.87
## [609] 19196.74 19445.70 19895.70 19843.00 19900.09 19961.55 19883.90 19869.85
## [617] 19919.82 19814.88 19553.86 19590.76 19678.28 19613.28 19742.98 19686.84
## [625] 19677.85 19650.57 19860.03 20177.28 19979.90 19984.62 19909.26 20013.26
## [633] 19908.58 19898.75 19883.52 19831.82 19943.26 20067.75 20230.41 20138.79
## [641] 20110.51 20132.67 20153.35 20225.09 20130.41 20220.30 20033.43 20055.80
## [649] 20081.63 19994.06 19929.09 20080.98 20195.48 20098.38 20099.81 20118.86
## [657] 19999.91 20020.86 20144.59 20099.75 19975.67 19955.20 20050.16 20079.64
## [665] 19959.84 19925.18 20080.04 20029.26 19952.33 20055.89 19996.01 19738.71
## [673] 19729.74 19537.10 19753.31 19729.28 19702.63 19470.41 19393.13 19383.84
## [681] 19434.64 19353.77 19452.61 19449.90 19362.55 19506.54 19646.24 19691.47
## [689] 19385.81 19357.97 19396.52 19274.82 19545.77 19776.62 19865.82 19807.44
## [697] 19909.50 20299.38 20310.46 20347.48 20296.45 20397.58 20330.19 20267.05
## [705] 20363.11 20356.28 20400.78 20614.07 20626.66 20690.71 20823.51 20881.27
## [713] 20954.72 21155.18 21255.56 21336.12 21363.05 21448.52 21457.64 21696.65
## [721] 21805.17 21707.62 21739.78 22008.45 22011.67 22011.61 22420.08 22539.12
## [729] 22539.12 22548.35 22937.60 22913.82 22868.71 22681.42 22380.99 22380.01
## [737] 22028.32 22351.12 22396.80 22261.76 22416.48 22523.15 22550.85 22495.99
## [745] 22486.24 22597.20 22724.96 22819.03 22707.16 22622.38 22177.04 22498.03
## [753] 22811.08 22938.73 22866.17 22758.07 22694.45 22553.22 22901.77 22868.00
## [761] 22891.72 22866.10 22902.76 22911.21 22783.98 22764.94 23506.33 23714.53
## [769] 23849.99 23788.20 23710.43 23653.82 23951.81 23868.34 23763.37 23808.06
## [777] 23816.33 24124.15 23940.78 23669.49 23631.88 23629.34 23291.97 23098.29
## [785] 23486.11 23274.53 22682.08 21610.24 21645.37 21890.86 21382.62 21244.68
## [793] 21154.17 21464.98 21720.25 21925.10 21970.81 21736.44 21892.78 22153.63
## [801] 22389.86 22068.24 21724.47 21181.64 21042.09 21417.76 21252.72 21368.07
## [809] 21469.20 21824.03 21968.10 21777.29 21803.95 21676.51 21480.90 21380.97
## [817] 21591.99 20617.86 20766.10 21317.32 21031.31 21159.08 21292.29 21319.55
## [825] 21645.42 21567.52 21678.26 21794.32 21687.10 21660.28 21778.74 21835.53
## [833] 21847.59 22158.20 22191.18 22162.24 22088.04 22278.12 22215.32 22319.61
## [841] 22467.87 22472.78 22467.16 22508.69 22408.88 22758.48 22865.86 22818.02
## [849] 22717.23 22838.37 22930.36 22960.34 22689.74 22437.01 22450.79 22358.43
## [857] 22018.52 22201.82 22171.35 22475.94 22539.54 22625.73 22823.26 22694.50
## [865] 22804.04 22878.35 22966.38 22738.61 22851.75 22680.33 22278.48 22555.43
## [873] 22693.04 22516.83 22338.15 22342.00 22271.77 22270.39 22304.51 21811.93
## [881] 21785.54 21546.99 21788.14 22052.18 22196.89 21932.21 22187.96 22597.35
## [889] 22597.35 22697.36 22794.19 22764.68 22697.88 22396.99 22510.48 22614.25
## [897] 22586.87 22712.75 22544.84 22553.72 22512.53 22525.18 22507.32 22662.74
## [905] 22644.31 22598.39 22298.08 21857.43 22356.08 22204.22 22192.04 22270.38
## [913] 22199.00 22219.73 22362.55 22410.82 22601.77 22799.64 22813.47 22848.22
## [921] 22869.50 22865.15 22696.90 22580.83 22487.94 22307.06 22373.09 22664.69
## [929] 22604.61 22821.32 23094.67 23420.54 23672.52 23674.93 23869.93 23940.26
## [937] 24033.79 23796.74 24120.04 24245.76 24270.62 24110.96 23975.62 23783.72
## [945] 23469.39 23506.04 22590.86 22694.66 22271.30 22549.24 22841.12 22658.16
## [953] 22532.08 22614.82 22010.78 22091.18 21268.73 21184.60 21149.80 21457.29
## [961] 21920.46 21687.65 22243.66 21898.99 22085.80 22486.92 21810.52 21803.62
## [969] 21821.16 21583.12 21507.54 21812.00 21952.40 22262.60 22351.06 22036.05
## [977] 21501.62 21678.68 21219.50 21148.02 21602.75 21816.19 21374.83 21506.88
## [985] 21115.45 20987.92 20166.19 20077.62 19561.96 20038.97 20204.04 20427.06
## [993] 20163.80 20359.70 20442.75 20402.27 20666.07 20593.72 20574.63 20773.56
## [1001] 20649.00 20664.64 20556.54 20773.49 20788.39 20883.77 20844.45 20333.17
## [1009] 20864.21 21139.71 20900.63 21302.65 21431.49 21464.23 21425.51 21528.23
## [1017] 21449.39 21556.51 21385.16 21602.69 21822.04 21726.28 21596.81 21456.01
## [1025] 21125.09 21290.24 21287.02 21450.85 21566.85 21627.34 21428.39 21378.73
## [1033] 21205.81 21509.03 21505.31 21713.21 21724.95 21807.50 21761.65 21802.59
## [1041] 21687.57 21711.38 21870.56 22169.11 22221.66 22277.97 22090.12 22259.74
## [1049] 22200.00 22307.58 22258.73 21923.72 21602.59 21402.13 21344.92 21191.28
## [1057] 21067.23 21188.56
Alternativamente è possibile selezionare una colonna utilizzando il nome di colonna preceduto dal simbolo di dollaro. Il seguente codice seleziona la colonna di nome IXIC
e ne salva i valori in un nuovo oggetto (di tipo vettore) denominato x
:
## [1] 1058
4.3 Analisi esplorativa
Dato un vettore di dati la funzione summary
restituisce i valori dei principali indici statistici di posizione:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 15666 17763 19839 20670 24357 26828
Per calcolare misure di variabilità è possibile utilizzare la funzione var
(varianza campionaria) o sd
(standard deviation, data dalla radice della varianza):
## [1] 11308571
## [1] 3362.822
4.4 Grafico di serie storiche
Si intende rappresentare graficamente le serie storiche dei prezzi per i titoli disponibili.
Il grafico finale avrà le date sull’asse delle x e i prezzi sull’asse delle y. Iniziamo rappresentando la serie storica di DJI
:
Ogni punto nel grafico rappresenta un giorno finanziario e la sua posizione nel grafico è data dal prezzo del titolo. Si noti che per il momento sull’asse delle x viene rappresentata, in maniera automatica, la variabile Index data da una sequenza regolare da 1 al numero totale di dati disponibili per la serie storica (in questo caso 1058). L’utilizzo dei punti non è la scelta migliore per rappresentare una serie storica perchè l’andamento temporale della serie non viene rappresentato chiaramente. Il codice che segue utilizza l’argomento type="l"
(“l” sta per linea) al fine di avere una rappresentazione di tipo “linea” della serie storica:
Per includere le date nell’asse delle x si va a specificare due vettori all’interno della funzione plot
(il primo vettore verrà utilizzato per l’asse delle x, il secondo per l’asse delle y). Si noti che, essendo il vettore delle date di tipo chr
(come visto precedentemente con str
) è necessario trasformarlo in un vettore di tipo Date
. A tal fine si applica la funzione as.Date
a fdata$Date
(si veda anche ?as.Date
):
Il passo successivo consiste nel rappresentare più serie storiche nello stesso grafico (ad esempio DJI
e N225
). La prima serie storica si rappresenta utilizzando la funzione plot
mentre la seconda la funzione lines
che va ad aggiungere una nuova linea ad un grafico esistente:
plot(as.Date(fdata$Date) , fdata$DJI,
type="l")
#aggiungere una nuova serie storica
lines(as.Date(fdata$Date) , fdata$N225,
col = "red") #colore linea
Si noti che la serie del titolo N225 non è visibile perchè ha un range di valori completamente diverso (controllare usando summary
) e non incluso nell’intervallo di valori utilizzato per l’asse delle y e scelto in automatico da R. Per specificare in maniera diversa il range di valori dell’asse delle y si utilzza l’argomento ylim
della funzione plot
(andranno specificati il valore minimo e massimo per l’asse delle y):
plot(as.Date(fdata$Date) , fdata$DJI,
type="l" , ylim = c(0,27000))
lines(as.Date(fdata$Date) , fdata$N225,
col = "red")
Utilizzando lo stesso approccio è quindi possibile rappresentare graficamente tutte le serie storiche dei prezzi:
plot(as.Date(fdata$Date) , fdata$DJI,
type="l" , ylim = c(0,27000),
xlab="Date", ylab="Prezzi",
main="Serie storiche")
lines(as.Date(fdata$Date) , fdata$N225,
col = "red")
lines(as.Date(fdata$Date) , fdata$IXIC,
col = "green")
lines(as.Date(fdata$Date) , fdata$BTC.EUR,
col = "orange")
lines(as.Date(fdata$Date) , fdata$GSPC,
col = "blue")
lines(as.Date(fdata$Date) , fdata$STOXX50E,
col = "purple")
Si noti che gli argomenti xlab
, ylab
e main
della funzione plot
vengono utilizzati per specificare, rispettivamente, le etichette dell’asse delle x, dell’asse delle y e il titolo del grafico.
E’ anche possibile aggiungere una legenda al grafico utilizzando il seguente codice (non richiesto per l’esame!):
plot(as.Date(fdata$Date) , fdata$DJI,
type="l" , ylim = c(0,30000),
xlab="Financial dates", ylab="Prices",
main="Time series plot")
lines(as.Date(fdata$Date) , fdata$N225,
col = "red")
lines(as.Date(fdata$Date) , fdata$IXIC,
col = "green")
lines(as.Date(fdata$Date) , fdata$BTC.EUR,
col = "orange")
lines(as.Date(fdata$Date) , fdata$GSPC,
col = "blue")
lines(as.Date(fdata$Date) , fdata$STOXX50E,
col = "purple")
legend("topleft",
lty=rep(1,6), #stile linea (1=linea continua)
col=c("black","red","green","orange","blue","purple"),
legend = colnames(fdata)[2:ncol(fdata)],
cex=0.5) #per ridurre il font size
4.5 Esercizi lab 2
4.5.1 Esercizio 1
Scaricare dall’e-learning i tre file CSV JNJ.csv, PFE.csv e NVS.csv (fonte dei dati: https://finance.yahoo.com/). Essi si riferiscono alle serie storiche dei prezzi dei seguenti titoli per il periodo 3/10/2013 - 3/10/2018: Johnson & Johnson (JNJ), Pfizer Inc. (PFE) e Novartis AG (NVS). Ogni file contiene le seguenti variabili:
- Date: data
- Open: prezzo di apertura
- High: prezzo massimo registrato dal titolo nella giornata di negoziazione
- Low: prezzo minimo registrato dal titolo nella giornata di negoziazione
- Close: prezzo di chiusura
- Adj.Close: prezzo di chiusura aggiustato per dividendi e frazionamenti
- Volume: quantita’ complessiva di titoli scambiati nella giornata
Importare i 3 file in R creando 3 oggetti diversi con nomi JNJ
, PFE
e NVS
. Fate attenzione al separatore di campo!
Visualizzare le prime righe dei 3 dataframe. Verificare inoltre la dimensione dei 3 dataframe e la loro struttura. Si riferiscono i dati alle stesse date?
Considerare solamente per i 3 dataframe la variabile
Adj.Close
. Calcolare per i tre titoli delle statistiche descrittive. Quale titolo presenta maggiore variabilità?Utilizzando la funzione
quantile
(vedere?quantile
) calcolare il quantile-0.99 per i prezziAdj.Close
diJNJ
. Commentare il valore.Per i prezzi
Adj.Close
diJNJ
si considerano estremi i valori inferiori al quantile-0.1 o superiori al quantile-0.99.
- Calcolare quanti sono in valore assoluto i valori estremi. Suggerimento: in questo caso la condizione e’ doppia e di tipo OR che in
R
si traduce con l’operatore|
. - Quanto vale la media dei prezzi estremi?
- In quali date si verificano i valori estremi?
Rappresentare sullo stesso grafico le tre serie storiche dei prezzi
Adj.Close
Per ogni titolo calcolare la percentuale di prezzi superiori alla media. Per quale titolo si osserva una percentuale maggiore di prezzi maggiori della media?
4.5.2 Esercizio 2
Importare i dati del file worldbankdata.csv che contiene per 25 paesi europei i dati relativi alle seguenti variabili: Population density (people per sq. km of land area) 2016, Electric power consumption (kWh per capita) 2014, Proportion of seats held by women in national parliaments (%) 2016, Mobile cellular subscriptions 2016, Rail lines (total route-km) 2014
Estrarre tutti i valori disponibili per la variabile
pop_density
.Calcolare la mediana e la media per la variabile
pop_density
.Selezionare tutti i dati disponibili per il paese in 3a riga.
Selezionare tutti i dati disponibili per il paese il cui nome
Country
e’ Croatia (in questo caso sarà necessario vedere quale nome di paese è esattamente uguale (==
) a"Croatia"
).Trovare il paese con la maggiore densità di popolazione utilizzando all’interno del proprio codice la funzione
max
.