Vai al contenuto principale

Competenze di programmazione di base in R

Allena le competenze di programmazione di base in R usando il materiale del corso gratuito di DataCamp Model a Quantitative Trading Strategy in R.
Aggiornato 29 set 2026  · 5 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Se vuoi seguire il nostro corso gratuito Model a Quantitative Trading Strategy in R, ecco il link.

Leggere un file: read.csv()

Il primo passo, prima di poter analizzare i dati di un titolo azionario, è scaricarli e caricarli nello spazio di lavoro di R. Caricare un dataset nello spazio di lavoro è simile ad aprire un file di dati in Excel, dopo di che possiamo eseguirci sopra le funzioni disponibili. In R, le tabelle di dati vengono comunemente salvate come oggetti chiamati data frame.

In questo capitolo useremo i dati di un titolo chiamato MARUTI scaricati da Yahoo Finance. I dati sono disponibili su http://assets.datacamp.com/course/quantinsti/data_ch1.csv. Il dataset contiene i dati giornalieri OHLC (Open High Low Close) e i volumi di Maruti dal 01/01/2008 al 31/12/2013.

In questo esercizio inizieremo definendo un nuovo object in R, chiamato data_maruti. La sintassi per definire una nuova variable o un nuovo object è molto semplice:

variable_name <- value

dove variable_name è il nome del nuovo object o della nuova variable e value è il valore che gli viene assegnato.

Salveremo un file di dati .csv in data_maruti. La function usata per leggere un file .csv e salvarlo come data frame è read.csv(). La sintassi per chiamare una funzione è piuttosto semplice:

function_name(object1, object2, argument1, argument2, ....)

dove function_name è il nome della function e object1, object1 sono gli oggetti o le variabili su cui vuoi eseguire la funzione. Gli arguments sono le specifiche che vuoi fornire durante l’esecuzione della funzione.

In questo esercizio impareremo a creare una nuova variabile usando una funzione.

Istruzioni

  • Ispeziona il data frame dummy caricato come esempio. Nota che ci sono tre argomenti nella funzione read.csv(): file, uguale all’URL dei dati, header, un valore logico che indica se il file contiene nella prima riga i nomi delle variabili (in questo caso TRUE) e stringsAsFactors, che specifica se le stringhe nella tabella devono essere salvate come fattori (in questo caso FALSE).
  • Crea una nuova variabile data_maruti che contenga i dati giornalieri di Maruti dal 1° gennaio 2008 al 31 dicembre 2013. Assicurati di impostare header su TRUE e stringAsFactors su FALSE.
  • Infine, ispeziona le prime righe del data frame che hai caricato usando la funzione head(). Esegui semplicemente head(data_maruti) per chiamare la funzione.
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuIiwic2Ft cGxlIjoiXG4jIFRoaXMgaXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhv dyB0byByZWFkIGEgLmNzdiBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxl ID0gXCJodHRwOi8vYXNzZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRp bnN0aS9kYXRhX2NoMS5jc3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0Fz RmFjdG9ycyA9IEZBTFNFKVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUg c2F2ZWQgYXQgJ2h0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9x dWFudGluc3RpL2RhdGFfY2gxLmNzdidcbmRhdGFfbWFydXRpIDwtXG5cbiMg SW5zcGVjdCB0aGUgZGF0YSBmcmFtZSIsInNvbHV0aW9uIjoiXG4jIFRoaXMg aXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhvdyB0byByZWFkIGEgLmNz diBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxlID0gXCJodHRwOi8vYXNz ZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRpbnN0aS9kYXRhX2NoMS5j c3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNF KVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUgc2F2ZWQgYXQgJ2h0dHA6 Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2RhdGFf Y2gxLmNzdidcbmRhdGFfbWFydXRpIDwtIHJlYWQuY3N2KGZpbGUgPSBcImh0 dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2Rh dGFfY2gxLmNzdlwiLCBoZWFkZXIgPSBUUlVFLCBzdHJpbmdzQXNGYWN0b3Jz ID0gRkFMU0UpXG5cbiMgSW5zcGVjdCB0aGUgZGF0YSBmcmFtZVxuaGVhZChk YXRhX21hcnV0aSkiLCJzY3QiOiJcbnRlc3RfZXJyb3IoKVxudGVzdF9mdW5j dGlvbihcInJlYWQuY3N2XCIsXCJmaWxlXCIsaW5jb3JyZWN0X21zZyA9IFwi SGF2ZSB5b3Ugc3BlY2lmaWVkIHRoZSA8Y29kZT5maWxlPC9jb2RlPiBhcmd1 bWVudCBjb3JyZWN0bHkgaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9j b2RlPiBmdW5jdGlvbj9cIilcbnRlc3RfZnVuY3Rpb24oXCJyZWFkLmNzdlwi LFwiaGVhZGVyXCIsbm90X2NhbGxlZF9tc2cgPSBcIk1ha2Ugc3VyZSB0byBz ZXQgdGhlIDxjb2RlPmhlYWRlcjwvY29kZT4gYXJndW1lbnQgaW5zaWRlIHRo ZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlvbi5cIiwgaW5jb3Jy ZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHNldCB0aGUgPGNvZGU+aGVhZGVy PC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5UUlVFPC9jb2RlPiBpbnNpZGUg dGhlIDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiKVxudGVz dF9mdW5jdGlvbihcInJlYWQuY3N2XCIsXCJzdHJpbmdzQXNGYWN0b3JzXCIs IG5vdF9jYWxsZWRfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29k ZT5zdHJpbmdzQXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCBpbnNpZGUgdGhl IDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiLCBpbmNvcnJl Y3RfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29kZT5zdHJpbmdz QXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5GQUxTRTwvY29k ZT4gaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlv bi5cIilcbnRlc3Rfb2JqZWN0KFwiZGF0YV9tYXJ1dGlcIixpbmNvcnJlY3Rf bXNnID0gXCJUaGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IHZhcmlhYmxl IGlzIG5vdCBpbml0aWFsaXplZCBhcyBleHBlY3RlZC4gVGFrZSBhIGxvb2sg YXQgdGhlIGhpbnQuXCIpXG50ZXN0X2Z1bmN0aW9uKFwiaGVhZFwiLCBcInhc Iiwgbm90X2NhbGxlZF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24gPGNvZGU+ aGVhZCgpPC9jb2RlPiB0byBpbnNwZWN0IHRoZSBmaXJzdCByb3cgb2YgPGNv ZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+LlwiLCBpbmNvcnJlY3RfbXNnID0gXCJN YWtlIHN1cmUgdG8gcGFzcyB0aGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+ IHZhcmlhYmxlIHRvIHRoZSBmdW5jdGlvbiA8Y29kZT5oZWFkKCk8L2NvZGU+ LiBUcnkgYWdhaW4uXCIpXG5zdWNjZXNzX21zZyhcIkdyZWF0ISBDaGVjayBv dXQgdGhlIGNvbHVtbiBuYW1lcyBvZiB5b3VyIGRhdGEgc2V0LiBXaGF0IGRv IHlvdSB0aGluayB0aGV5IG1lYW4/XCIpIiwiaGludCI6IlxuUmVhZCB0aGlz IGh0dHA6Ly93d3cuci10dXRvci5jb20vci1pbnRyb2R1Y3Rpb24vZGF0YS1m cmFtZS9kYXRhLWltcG9ydC4ifQ==

Dai un’occhiata ai tuoi dati

Ora conosci la funzione head(), che è stata usata per stampare le prime righe di data_maruti.

In questo esercizio stamperai le ultime righe (tail) del dataset usando la funzione tail(). Scoprirai anche come interrogare il numero di righe e di colonne del dataset.

Il data frame data_maruti è già caricato nello spazio di lavoro.

Istruzioni

  • Stampa le ultime sei righe di data_maruti usando la funzione tail().
  • Stampa il numero di righe in data_maruti usando la funzione nrow().
  • Stampa il numero di colonne in data_maruti usando la funzione ncol().
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuI0Rvd25s b2FkIGRhdGEgc2V0XG5kYXRhX3VybCA9IFwiaHR0cDovL2Fzc2V0cy5kYXRh Y2FtcC5jb20vY291cnNlL3F1YW50aW5zdGkvZGF0YV9jaDEuY3N2XCJcbmRh dGFfbWFydXRpID0gcmVhZC5jc3YoZmlsZSA9IGRhdGFfdXJsLCBoZWFkZXIg PSBUUlVFLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpIiwic2FtcGxlIjoi XG4jIFByaW50IGxhc3Qgc2l4IHJvd3Mgb2YgJ2RhdGFfbWFydXRpJ1xuXG5c biMgUHJpbnQgdGhlIG51bWJlciBvZiByb3dzIGluIGBkYXRhX21hcnV0aWBc blxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBgZGF0YV9t YXJ1dGlgIiwic29sdXRpb24iOiJcbiMgUHJpbnQgbGFzdCBzaXggcm93cyBv ZiAnZGF0YV9tYXJ1dGknIHVzaW5nIGZ1bmN0aW9uICd0YWlsKCknXG50YWls KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2Ygcm93cyBp biBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICducm93KCknXG5ucm93 KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1u cyBpbiBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICduY29sKCknXG5u Y29sKGRhdGFfbWFydXRpKSIsInNjdCI6IlxuXG50ZXN0X2Vycm9yKClcbnRl c3RfZnVuY3Rpb24oXCJ0YWlsXCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9 IFwiSGF2ZSB5b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+dGFpbCgpPC9j b2RlPj9cIixcbiAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFr ZSBzdXJlIHRvIHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUg PGNvZGU+dGFpbCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rp b24oXCJucm93XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5 b3UgdXNlZCB0aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixc biAgICAgICAgICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRv IHBhc3MgdGhlIGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNv bCgpPC9jb2RlPiBmdW5jdGlvbi5cIilcbnRlc3RfZnVuY3Rpb24oXCJuY29s XCIsIFwieFwiLCBub3RfY2FsbGVkX21zZyA9IFwiSGF2ZSB5b3UgdXNlZCB0 aGUgZnVuY3Rpb24gPGNvZGU+bmNvbCgpPC9jb2RlPj9cIixcbiAgICAgICAg ICAgICAgaW5jb3JyZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHBhc3MgdGhl IGNvcnJlY3QgZGF0YSBmcmFtZSB0byB0aGUgPGNvZGU+bmNvbCgpPC9jb2Rl PiBmdW5jdGlvbi5cIilcbnN1Y2Nlc3NfbXNnKFwiR3JlYXQgam9iISBDb250 aW51ZSB0byB0aGUgbmV4dCBleGVyaXNlLlwiKSIsImhpbnQiOiJcblRoZSBg YHRhaWwoKWBgIGZ1bmN0aW9uIHByaW50cyB0aGUgbGFzdCBzaXggcm93cyBi eSBkZWZhdWx0LCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBhZGRp dGlvbmFsIGFyZ3VtZW50cy4gVGhlIHN5bnRheCB0byBydW4gYSBmdW5jdGlv biBvdmVyIGEgZGF0YSBmcmFtZSBgYGZ1bmN0aW9uX25hbWUoZGZfbmFtZSlg YC4gRm9yIGV4YW1wbGUsIHRvIHJ1biB0aGUgZnVuY3Rpb24gYGBoZWFkKClg YCBvdmVyIGBkYXRhX21hcnV0aWAsIHdlIHNpbXBseSB3cml0ZSBgYGhlYWQo ZGF0YV9tYXJ1dGkpYGAuIn0=

Tipi, classi e dimensioni degli oggetti in R

Ogni variabile in R è un oggetto che ha il proprio tipo, classe e dimensione. Esistono pochi tipi di base, come numerico (ad es. 5 o 5.0), carattere (ad es. "a") e logico (ad es. TRUE). Le dimensioni sono il numero di righe e colonne dell’oggetto. Infine, la classe di un oggetto può modificare il comportamento delle stesse funzioni. Ad esempio, la funzione print() si comporterà in modo diverso per una variabile che è un data frame rispetto a una variabile che è un modello lineare.

Le classi di oggetti con cui lavoriamo in questo capitolo sono i vettori e i data frame. I data frame, come già detto, sono come tabelle Excel e sono i più usati nell’informatica finanziaria. I vettori sono come una singola riga o colonna di dati composta dallo stesso tipo di variabili. In altre parole, un data frame è composto da vettori.

Istruzioni

Stampa il tipo, la classe e le dimensioni dell’oggetto data_maruti usando rispettivamente le funzioni typeof(), class() e dim(). Il data frame data_maruti è già caricato nello spazio di lavoro.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuZGF0YV91 cmwgPSBcImh0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFu dGluc3RpL2RhdGFfY2gxLmNzdlwiXG5kYXRhX21hcnV0aSA9IHJlYWQuY3N2KGZpbGUgPSBkYXRhX3VybCwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKSIsInNhbXBsZSI6IlxuIyBQcmludCB0aGUgY2xhc3Mg b2YgJ2RhdGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIHR5cGUgb2YgJ2Rh dGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2Rh dGFfbWFydXRpJyIsInNvbHV0aW9uIjoiXG4jIFByaW50IHRoZSBjbGFzcyBv ZiAnZGF0YV9tYXJ1dGknXG5jbGFzcyhkYXRhX21hcnV0aSlcblxuIyBQcmlu dCB0aGUgdHlwZSBvZiAnZGF0YV9tYXJ1dGknXG50eXBlb2YoZGF0YV9tYXJ1 dGkpXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2RhdGFfbWFydXRp J1xuZGltKGRhdGFfbWFydXRpKSIsInNjdCI6IlxudGVzdF9vdXRwdXRfY29u dGFpbnMoXCJjbGFzcyhkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9 IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5jbGFzcygpPC9jb2RlPiBhbmQg cGFzcyBvbiA8Y29kZT5kYXRhX21hcnV0aTwvY29kZT4gYXMgdGhlIGFyZ3Vt ZW50LlwiKVxudGVzdF9vdXRwdXRfY29udGFpbnMoXCJ0eXBlb2YoZGF0YV9t YXJ1dGkpXCIsIGluY29ycmVjdF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24g PGNvZGU+dHlwZW9mKCk8L2NvZGU+IGFuZCBwYXNzIG9uIDxjb2RlPmRhdGFf bWFydXRpPC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG50ZXN0X291dHB1 dF9jb250YWlucyhcImRpbShkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21z ZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5kaW0oKTwvY29kZT4gYW5k IHBhc3Mgb24gPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IGFzIHRoZSBhcmd1 bWVudC5cIilcbnN1Y2Nlc3NfbXNnKFwiVGhpcyBpcyBnb2luZyB3ZWxsISBX ZSBoYXZlIG5vdyBjb25maXJtZWQgdGhhdCA8Y29kZT5kYXRhX21hcnV0aTwv Y29kZT4gaXMgaW4gZmFjdCBhIGRhdGEgZnJhbWUuIExldCB1cyBub3cgbGVh cm4gdG8gdXNlIHNvbWUgZnVuY3Rpb25zIGluIFIgdG8gY2FsY3VsYXRlIHJl dHVybnMhXCIpIiwiaGludCI6IlxuVGhpcyBpcyBmYWlybHkgYmFzaWMhIEp1 c3QgdXNlIHRoZSBnaXZlbiBmdW5jdGlvbnMgYXMgeW91IGRpZCBpbiBwcmV2 aW91cyBxdWVzdGlvbi4ifQ==


Se vuoi imparare di più da questo corso, ecco il link.

Dai un’occhiata al tutorial di DataCamp Objects and Classes in R.

Argomenti
R
Data Science

Scopri di più su R

Corso

Introduzione a R

4 ore
3.1M
Impara le basi dell'analisi dei dati in R, compresi vettori, liste e data frame, e fai pratica con R con set di dati reali.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro