









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Dispenda corso di informatica con tutti i comandi r utili
Tipologia: Schemi e mappe concettuali
1 / 16
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Obiettivo Cosa ricordarsi Comando su R
vettore numerico vettore_num<-c(1,2,3,4) per il risultato eseguo var_num
vettore nome C names(costi)<-c("mese1","mese 2","mese3","mese4","mese5"," mese6") costi per visualizzare names(ricavi)<-c("mese1","mes e2","mese3","mese4","mese5"," mese6") ricavi per visualizzare
vettore decisionale
lista tasto ls () per vedere le parole salvate
storia history() elenco comandi fatti
rimozione rm(comando da rimuovere) rimuovere gli oggetti. se voglio rimuovere tutti gli oggetti: rm(list=ls())
altri comandi visualizza la struttura str(nome dataframe) visualizzare le righe di un data frame head=dall’inizio tail=dalla fine head/tail(dataframe, n=numero di righe)
Differenza tra vettori profitti <- ricavi – costi profitti per visualizzare
Somma sum()somma
Medio mean()medio
Mediana median()
Minimo min()
Massimo max()
Quantili quantile()
Selezione degli elementi
profitti[2] #secondo elemento profitti[c(2,3,5)] #lista elementi profitti[2:4] #range di elementi : danno il range
Selezione in base ad una condizione
confronto<-profitti<= confronto
Matrice #valori inseriti per riga matrix(1:9,byrow=TRUE,nrow= )
#valori inseriti per colonna matrix(1:9,byrow=FALSE,nrow=
matrice per visualizzare
Creazione di una matrice
#step 1 (immissione dati) vendite_mese_1 <- c(460, 314, 772, 666) vendite_mese_2 <- c(290, 247, 333, 541) vendite_mese_3 <- c(309, 165, 567, 321) #step 2 (concateno i dati) vendite_mese_1_2_3 <- c(vendite_mese_1, vendite_mese_2, vendite_mese_3) #step 3 (creare la matrice partendo dai vettori di partenza) vendite <- matrix(vendite_mese_1_2_3, byrow=FALSE, nrow=4) vendite per visualizzare
Assegnazione nomi alla matrice
#assegnazione nome righe e colonne nomi_righe<-c("week1","week2" ,"week3","week4") nomi_colonne<-c("mese1","mes e2","mese3")
#step 2 creazione data frame pianeti<-data.frame(nome,tipo,d iametro) pianeti per visualizzare
Modifiche, visualizzazioni varia su un data frame
pianeti_def$diameter
pianeti_def$diameter+0.
pianeti_def$diameter<-pianeti_d ef$diameter+0. pianeti_def per visualizzare
Selezionare in base ad una condizione
pianeti_sub<-subset(pianeti_def ,diameter<1) pianeti_sub Per visualizzare #PER METTERE UGUALE METTO IL DOPPIO ==
Importare i file da altre fonti a R
File con separatori (csv) File a colonne fisse (txt)
Leggere i file con separatori
stringsAsFactors=F ALSE) nota bene: cambia
in /
read.csv(«c:/tmp/states.csv», stringsAsFactors = FALSE) se voglio il separatore metto prima di string ,sep=”separatore”,
Leggere i file a colonne fisse
read.delim(collega mento, stringsAsFactors = FALSE) nota bene: cambia
in /
si può usare per entrambe le letture sopra indicate
read.delim(«c:/tmp/customers.tx t», stringsAsFactors = FALSE) metti il separatore con sep=”separatore”,
read.table()
Mantenere e prendere parti del file
keep<-c() nome del nuovo data frame<-vecchio data frame[,keep]
aggiungere valori o vettori ad una tabella
$ orders$AMOUNT<-orders$AMO UNT+ orders$SHIPPING<-orders$SHI PPING-0. orders per visualizzare
orders$TOTAL_AMOUNT<-ord ers$AMOUNT+orders$SHIPPIN G orders per visualizzare
Funzioni varie orders$TOTAL_AMOUNT_CEIL <-ceiling(orders$TOTAL_AMOU NT) orders$TOTAL_AMOUNT_FLO OR<-floor(orders$TOTAL_AMO UNT) orders$TOTAL_AMOUNT_TRU NC<-trunc(orders$TOTAL_AMO UNT) orders$TOTAL_AMOUNT_ROU ND<-round(orders$TOTAL_AM OUNT,digits=1) orders per visualizzare
Funzione con stringhe
orders$PRODUCTID<-tolower( orders$PRODUCTID) TOUPPER per maiuscole orders$ORDERID_NEW<-subst r(orders$ORDERID,2,4) orders
Statistiche mean(orders$TOTAL_AMOUNT _ROUND) median(orders$TOTAL_AMOU NT_ROUND)
counts<-table(employees$SALA RY_RANGE) counts barplot(counts,main="GRAFICO A BARRE", xlab="fascia stipendio", ylab="numero impiegati", col="brown") #ORIZZONTALE barplot(counts,horiz=TRUE,mai n="GRAFICO A BARRE", ylab="fascia stipendio", xlab="numero impiegati", col="brown")
Grafico a torta windows() counts<-table(employees$DEP ARTMENT) counts #METTO NOMI AGLI ELEMENTI DEL GRAFICO labelsG<-paste(names(counts), "\n",counts) pie(counts,labels=labelsG,main ="Impiegati per dipartimento",col=c("red","blue", "yellow","green"))
Grafico a linea windows() plot(tabella$GENDER, type=”l”, main=”titolo”, xlab=”ascisse”,ylab=”ordinate”, col=”colore”)
Scenario di riferimento Introduzione al programma di R R si colloca nella gestione dei dati di big data. 4 V: Volume: i dati nel tempo sono cresciuti in modo esponenziale. Velocity: velocità nella generazione del dato e nel voler analizzare i dati. Variety: non si parla più di tabelle, ma di dati strutturati e non strutturati Veracity: validazione e controllo incrociato dei dati, per verificare quest’ultimi Value: I big data sono la miniera di dati per le aziende, che vengono proposti dai manager per prendere decisioni per l’azienda e hanno un valore di tipo strategico. Data scientist: è una figura professionale a 360 dal punto di vista professionale, conoscenze di tipo di programmazione e conoscenza del database, soft skill comunicative, competenze matematiche, statistiche ed economiche. Storia nasce nel 1993 in un ambiente universitario americano. R è un software open di linguaggio di programmazione finalizzata alla gestione e all'analisi dei dati (produzione di grafici) Supporta i diversi sistemi operativi. Caratteristiche E ha un’interfaccia interattiva, in cui i comandi danno una risposta immediata. R ha un’ampia struttura di dati (es. scalari, vettori, matrici e tabelle) R è un linguaggio case sensitive (bisogna stare attenti maiuscole e minuscole)
Regole invio per avere i prompt per aprire lo script schiaccio file e nuovo script control R per ripetere o tasto destro esegui dopo aver selezionato. Control e rotella del mouse per aumentare la grandezza. per aggiungere i commenti uso #. Per assegnare il risultato dell'operazione ad una variabile si impiega il comando di assegnazione <-. si mette il punto e non la virgola per numeri decimali. per i booleani TRUE or FALSE. Non si possono lasciare spazi, quindi si usa il trattino basso o lettera maiuscola. var_num<-4+ per il risultato eseguo var_num altro esempio var_alfa<-"INFORMATICA" var_alfa tasto ls () per vedere le parole salvate history() elenco comandi fatti rm(comando da rimuovere) rimuovere gli oggetti. metto la virgola nella parentesi per rimuovere una serie di comandi. La cartella di lavoro corrente, con getwd() setwd(“c:/)
Lezione del 15 ottobre
Matrici è una collezione di elementi organizzato in righe e colonne ha 2 dimensioni matrix() es matrix(1:9;byrow;nrow)
#valori inseriti per riga matrix(1:9,byrow=TRUE,nrow=3)
#valori inseriti per colonna matrix(1:9,byrow=FALSE,nrow=3)
matrice<-matrix(1:9,byrow=FALSE,nrow=3) matrice
Esercizio #analisi vendite settimanali per ogni mese #fase 1 preparazione dati #step 1 (immissione dati) vendite_mese_1 <- c(460, 314, 772, 666) vendite_mese_2 <- c(290, 247, 333, 541) vendite_mese_3 <- c(309, 165, 567, 321) #step 2 (concateno i dati) vendite_mese_1_2_3 <- c(vendite_mese_1, vendite_mese_2, vendite_mese_3) #step 3 (creare la matrice partendo dai vettori di partenza) vendite <- matrix(vendite_mese_1_2_3, byrow=FALSE, nrow=4) vendite
#assegnazione nome righe e colonne nomi_righe<-c("week1","week2","week3","week4") nomi_colonne<-c("mese1","mese2","mese3")
rownames(vendite)<-nomi_righe colnames(vendite)<-nomi_colonne vendite
#Dimensione della matrice dim(vendite)
#Fase 2 manipolazione matrici
vendite+0.
vendite*1. vendite/0.
#per cambiare in modo definitivo i dati della matrice
vendite_new<-vendite+0. vendite_new
#Calcolo dei dati per riga e per colonna colSums(vendite) rowSums(vendite)
#amplio la mia matrice mese_4<-c(461,315,773,667) vendite_all<-cbind(vendite,mese_4) vendite_all
#amplio la mia matrice #aggiungo colonna mese_4<-c(461,315,773,667) vendite_all<-cbind(vendite,mese_4)
#aggiungo una riga totali<-colSums(vendite_all) vendite_def<-rbind(vendite_all,totali) vendite_def
#selezione di elementi vendite_def[1,] vendite_def[,1] vendite_def[2:4,1:3]
Lezione del 22 ottobre #visualizzazione di un data frame mtcars
#parte dati head(mtcars,n=10)
tail(mtcars,n=8)
#parte descrittiva della tabella o struttura str(mtcars)
#creazione di un data frame con i pianeti del sistema solare #step 1
pianeti_sub<-subset(pianeti_def,diameter<1) pianeti_sub #PER METTERE UGUALE METTO IL DOPPIO ==
pianeti_mod<-edit(pianeti_def) pianeti_mod
Lezione del 5 novembre
Lezione del 11 novembre #FASE 1: CREARE IL DATA FRAME PARTENDO DA UN FILE
orders<-read.csv("C:/Users/cresp/OneDrive/Desktop/Università/Informatica/orders.csv",sep= ";",stringsAsFactors=FALSE) orders
orders$AMOUNT<-orders$AMOUNT+ orders$SHIPPING<-orders$SHIPPING-0. orders
orders$TOTAL_AMOUNT<-orders$AMOUNT+orders$SHIPPING orders
orders$TOTAL_AMOUNT_CEIL<-ceiling(orders$TOTAL_AMOUNT) orders$TOTAL_AMOUNT_FLOOR<-floor(orders$TOTAL_AMOUNT) orders$TOTAL_AMOUNT_TRUNC<-trunc(orders$TOTAL_AMOUNT) orders$TOTAL_AMOUNT_ROUND<-round(orders$TOTAL_AMOUNT,digits=1) orders
orders$PRODUCTID<-tolower(orders$PRODUCTID) orders$ORDERID_NEW<-substr(orders$ORDERID,2,4) orders
mean(orders$TOTAL_AMOUNT_ROUND) median(orders$TOTAL_AMOUNT_ROUND) range(orders$TOTAL_AMOUNT_ROUND) sum(orders$TOTAL_AMOUNT_ROUND) min(orders$TOTAL_AMOUNT_ROUND) max(orders$TOTAL_AMOUNT_ROUND)
drop<-c(-9) orders_new<-orders[,drop] orders_new
orders_def<-subset(orders_new,TOTAL_AMOUNT_ROUND>1200)
Lezione del 19 novembre #FASE 1 IMPORTAZIONE DATI orders<-read.csv("C:/Users/cresp/OneDrive/Desktop/Università/Informatica/orders.csv",sep= ";",stringsAsFactors=FALSE) orders customers<-read.csv("C:/Users/cresp/OneDrive/Desktop/Università/Informatica/customers.c sv",sep=";",stringsAsFactors=FALSE) customers customers_new<-read.csv("C:/Users/cresp/OneDrive/Desktop/Università/Informatica/custom ers_new.csv",sep=";",stringsAsFactors=FALSE) customers_new
orders_customers<-merge(orders,customers,by="CUSTOMERID") orders_customers
customers_total<-rbind(customers,customers_new) customers_total
mean(orders_customers$AMOUNT) mean median(orders_customers$AMOUNT) median quantile(orders_customers$AMOUNT) quantile
#INDICI DI DISPERSIONE O DI VARIABILITà range(orders_customers$AMOUNT) range
barplot(counts,main="GRAFICO A BARRE", xlab="fascia stipendio", ylab="numero impiegati", col="brown") #ORIZZONTALE barplot(counts,horiz=TRUE,main="GRAFICO A BARRE", ylab="fascia stipendio", xlab="numero impiegati", col="brown")
windows() counts<-table(employees$DEPARTMENT) counts #METTO NOMI AGLI ELEMENTI DEL GRAFICO labelsG<-paste(names(counts),"\n",counts) pie(counts,labels=labelsG,main="Impiegati per dipartimento",col=c("red","blue","yellow","green"))
windows() plot(employees$SALARY,type="l", xlab="IMPIEGATO", ylab="Stipendio", main="Stipendi", col="violet")