Il 0% ha trovato utile questo documento (0 voti)
10 visualizzazioni18 pagine

Esercizi R Informatica

Il documento fornisce istruzioni dettagliate su come utilizzare RStudio per creare script, gestire variabili, vettori, matrici e data frame. Include anche operazioni di calcolo, visualizzazione e manipolazione dei dati, oltre a come salvare e caricare file. Infine, descrive come eseguire analisi statistiche di base sui dati importati.

Caricato da

claudibianchio22
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
10 visualizzazioni18 pagine

Esercizi R Informatica

Il documento fornisce istruzioni dettagliate su come utilizzare RStudio per creare script, gestire variabili, vettori, matrici e data frame. Include anche operazioni di calcolo, visualizzazione e manipolazione dei dati, oltre a come salvare e caricare file. Infine, descrive come eseguire analisi statistiche di base sui dati importati.

Caricato da

claudibianchio22
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

1.

Creare un nuovo script

• Apri RStudio.

• Vai su File > New File > R Script.

2. Impostare la directory Corrente

setwd("C:/tmp")

3. Verificare la directory corrente

getwd()

4. Creare le variabili

• # Name: Inserisci il tuo nome


Name <- "Paolo"
• # Surname: Inserisci il tuo cognome
Surname <- "Bonolis"
• # Address: Inserisci il tuo indirizzo
Address <- "Via Roma, 10"
• # Age: Calcola la tua età come differenza tra il 2020 e il tuo anno di nascita
Age <- 2020 - 2000 # Sostituisci con il tuo anno di nascita
• # Gender: Inserisci il genere
Gender <- "M" # "M" per maschio, "F" per femmina
• # Student: Valore booleano (TRUE/FALSE)
Student <- TRUE
5. Visualizzare i valori delle variabili

CTRL+INVIO SELEZIONANDO TUTTE LE VARIABILI (Name, Surname, Address ,Age, Gender, Student)

6. Visualizzare la lista delle variabili create

ls()

7. Cancellare le variabili Name e Gender

rm(Name, Gender)

8. Visualizzare le variabili rimanenti

ls()

9. Visualizzare la cronologia dei comandi

history()

10. Salvare lo script

• Vai su File > Save As....

• Salva il file come esercizio_finale_1_Paolo_Bonolis.R nella directory C:/tmp.

11. Uscire salvando .RData e .Rhistory

q(save = "yes")

12. Verificare i file salvati

• Controlla nella directory C:/tmp che ci siano:

o Lo script .R.

o I file .RData e .Rhistory.

13. Riaprire R e lo script

• Apri di nuovo RStudio.

• Vai su File > Open File... e seleziona il file .R.

14. Aggiungere la variabile ID

# ID: Numero di matricola

ID <- 12345

15. Rieseguire tutto lo script

Seleziona tutto il codice e premi Ctrl + Enter

16. Uscire senza salvare

q(save=”no”)
1. Creare un nuovo script

Vai su File > New File > R Script.

2. Creare i vettori

Nel file di script o nella console, definisci i due vettori:

Voti_Studente_A <- c(18, 30, 24, 18, 23, 25)

Voti_Studente_B <- c(28, 30, 21, 18, 30, 20)

3. Assegnare i nomi agli elementi dei vettori

esame<-c(“esame 1,” “esame 2,” “esame 3,” “esame 4,” “esame 5,” “esame 6,”)

names(Voti_Studente_A)<-esame

names(Voti_Studente_B)<-esame

4. Verificare i nomi assegnati

Visualizza i due vettori per verificare che i nomi siano stati assegnati:

• Voti_Studente_A
• Voti_Studente_B

5. Calcoli per Voti_Studente_A

Calcola e assegna i valori richiesti:

Copia codice

• somma_A <- sum(Voti_Studente_A)


• media_A <- mean(Voti_Studente_A)
• mediana_A <- median(Voti_Studente_A)
• min_A <- min(Voti_Studente_A)
• max_A <- max(Voti_Studente_A)
# Visualizzazione (seleziono tutte le righe e CTRL+INVIO)

• somma_A
• media_A
• mediana_A
• min_A
• max_A

6. Calcoli per Voti_Studente_B

Calcola e assegna i valori richiesti:

• somma_B <- sum(Voti_Studente_B)


• media_B <- mean(Voti_Studente_B)
• mediana_B <- median(Voti_Studente_B)
• min_B <- min(Voti_Studente_B)
• max_B <- max(Voti_Studente_B)

# Visualizzazione (seleziono tutte le righe e CTRL+INVIO)

• somma_B
• media_B
• mediana_B
• min_B
• max_B

7. Creare il vettore Voti_A_B (differenze)

Calcola la differenza tra i due vettori:

Voti_A_B <- Voti_Studente_A - Voti_Studente_B

Voti_A_B

8. Selezionare il terzo elemento di Voti_A_B

Voti_A_B[3]

9. Selezionare il terzo e quinto elemento di Voti_A_B

Voti_A_B[c(3, 5)]

10. Selezionare dal terzo al sesto elemento di Voti_A_B

Voti_A_B[3:6]

11. Selezionare gli elementi negativi di Voti_A_B

Voti_A_B[Voti_A_B < 0]

12. Visualizzare la lista degli oggetti

Mostra gli oggetti creati nell'ambiente:

ls()
13. Cancellare i vettori Voti_Studente_A e Voti_Studente_B

rm(Voti_Studente_A, Voti_Studente_B)

14. Visualizzare la cronologia dei comandi

history()

15. Salvare lo script

Vai su File > Save As... e salva il file come esercizio_finale_2_lezione.R.

16. Uscire dalla sessione

Per uscire:

q(save = "yes")

1. Creare un nuovo script

Vai su File > New File > R Script.

2. Creare la matrice Voti_A_B

• Prima definisci i vettori degli studenti e poi crea la matrice.


Voti_Studente_A <- c(90, 70, 84, 55, 100, 99)
Voti_Studente_B <- c(88, 73, 45, 80, 98, 90)
Voti_Studente_A_B<-c(Voti_Studente_A, Voti_Studente_B)
• # Creazione della matrice
Voti_A_B <- matrix(c(Voti_Studente_A_B), byrow=FALSE, nrow = 6)

3. Visualizzare la matrice Voti_A_B

Mostra la matrice nella console:

CTRL+INVIO (Voti_A_B)

4. Verificare la dimensione della matrice

dim(Voti_A_B)
5. Creare la matrice Voti_A_B_def

Voti_A_B_def <- Voti_A_B / 100 * 30

Voti_A_B_def

6. Visualizzare la matrice Voti_A_B_def

Voti_A_B_def

7. Calcolare la media dei voti di ogni studente

Usa la funzione colMeans() per calcolare la media:

Copia codice

Media<-colSums(Voti_A_B_def)/6

8. Visualizzare la media calcolata

CTRL+INVIO(Media)

9. Aggiungere la media come nuova riga alla matrice Voti_A_B_def

Combina la matrice originale con la media:

Voti_A_B_tot <- rbind(Voti_A_B_def, Media)

Voti_A_B_tot

10. Visualizzare la matrice Voti_A_B_tot

Mostra la matrice aggiornata nella console:

CTRL+INVIO (Voti_A_B_tot)

11. Selezionare dalla matrice Voti_A_B_tot i voti dello studente A

Voti_A_B_tot[1:6,1]

12. Selezionare dalla matrice Voti_A_B_tot i voti dello studente B

Voti_A_B_tot[1:6,2]

13. Selezionare dalla matrice Voti_A_B_tot i voti del terzo esame per entrambi gli studenti

Voti_A_B_tot[3, ]

14. Selezionare dalla matrice Voti_A_B_tot i voti dal primo al quinto esame per lo studente B

Voti_A_B_tot[1:5,2]

15. Salvare lo script

Salva lo script con il nome esercizio_finale_3_lezione.R nella directory desiderata.

16. Uscire dalla sessione

Esci da RStudio salvando l'ambiente di lavoro, se richiesto:

q()
Punto 1 e 2 guarda [Link]

3. Creare il data frame impiegati

# Creazione del data frame

anno = c(2010, 2011, 2012),

num_impiegati = c(265, 277, 281),

num_impiegati_M = c(165, 200, 201),

num_impiegati_F = c(100, 77, 80)

impiegati <- [Link](anno,num_impiegati,num_impiegati_M,num_impiegati_F)

4. Visualizzare il data frame

Per visualizzare variabili guarda es precedenti

5. Visualizzare le prime osservazioni

head(impiegati)

6. Visualizzare le ultime osservazioni

tail(impiegati)
7. Visualizzare dimensioni, numero di colonne e righe

Usa i seguenti comandi:

# Dimensioni del data frame

dim(impiegati)

# Numero di righe

nrow(impiegati)

# Numero di colonne

ncol(impiegati)

8. Visualizzare la struttura del data frame

str(impiegati)

9. Aggiungere una nuova colonna (stipendi_totali)

stipendi_totali <- c(1000, 1300, 1250)

impiegati_def <- cbind(impiegati, stipendi_totali)

10. Visualizzare il nuovo data frame

impiegati_def

11. Visualizzare i nomi delle colonne

names(impiegati_def)

12: Modificare i nomi delle colonne del data frame "impiegati_def" (tradotti in inglese)

names(impiegati_def) <- c("year", "emp", "emp_M", "emp_F", "salary_tot")

13: Visualizzare i dati della colonna "num_impegiati" (ora chiamata "emp")

impiegati_def$emp

14: Visualizzare i dati della colonna "stipendi_totali" (ora chiamata "salary_tot")

impiegati_def$salary_tot

15: Aumentare i valori della colonna "stipendi_totali" di 10

impiegati_def$salary_tot <- impiegati_def$salary_tot + 10

16: Diminuire i valori della colonna "num_impegiati" (ora chiamata "emp") di 5

impiegati_def$emp <- impiegati_def$emp - 5

18: Calcolare la media, mediana, minimo e massimo del numero di impiegati

mean(impiegati_def$emp)

median(impiegati_def$emp)

min(impiegati_def$emp)
max(impiegati_def$emp)

19: Calcolare la media, mediana, minimo e massimo degli stipendi totali

mean(impiegati_def$salary_tot)

median(impiegati_def$salary_tot)

min(impiegati_def$salary_tot)

max(impiegati_def$salary_tot)

20: Selezionare solo le righe con "stipendi_totali" maggiori di 1250

subset(impiegati_def, salary_tot > 1250)

21: Selezionare solo le righe con "num_impegiati" (ora chiamato "emp") minori di 270

subset(impiegati_def, emp < 270)

22: Selezionare solo le righe con "num_impegiati_M" uguali a 200

subset(impiegati_def, emp_M == 200)

23: Visualizzare gli oggetti creati nello spazio di lavoro

ls()

# Punto 24: Visualizzare la cronologia dei comandi eseguiti

history()
1. Creare un nuovo script

Fai clic su File -> New File -> R Script in RStudio per creare un nuovo script)

2. Visualizzare gli oggetti del workspace

ls()

6-7. Creare il file [Link]

Vendite<-[Link](“c:/tmp/[Link]”, sep=”#”, stringsAsFactors=FALSE)

Vendite

str(Vendite)

8-9. Creare il file [Link]

Costi<-[Link](“c:/tmp/[Link]”, stringsAsFactors=FALSE)

Costi

Str(Costi)

10-11. Creare il file [Link]

profitti <- <-[Link](“c:/tmp/[Link]”, sep=”;”, stringsAsFactors=FALSE)

profitti

str(profitti)

12. Importare il file [Link]

vendite <- [Link]("c:/tmp/[Link]", sep = "#")

# 13. Unire vendite e costi in un data frame vendite_costi

vendite_costi <- cbind(vendite, costi)

vendite_costi

14. Unire vendite_costi con profitti creando vendite_costi_profitti

vendite_costi_profitti <- cbind(vendite_costi, profitti)

vendite_costi_profitti

15. Visualizzare dimensioni, numero di colonne e righe di vendite_costi_profitti

dim(vendite_costi_profitti)

ncol(vendite_costi_profitti)

nrow(vendite_costi_profitti)

16. Visualizzare i nomi delle colonne di vendite_costi_profitti

names(vendite_costi_profitti)
17. Mantenere solo alcune colonne

Keep<-c(1,2,4,6)

def <- vendite_costi_profitti[, keep]

def

18. Visualizzare il data frame def

str(def)

19. Modificare i nomi delle colonne di def in maiuscolo

Names(def)<-c(“ANNO”, “VENDITE”, “COSTI”, “PROFITTI”)

def

20. Calcolare media e mediana di costi, vendite e profitti

media_costi <- mean(def$COSTI)

media_costi

media_vendite <- mean(def$VENDITE)

media_vendite

media_profitti <- mean(def$PROFITTI)

media_profitti

mediana_costi <- median(def$COSTI)

mediana_costi

mediana_vendite <- median(def$VENDITE)

mediana_vendite

mediana_profitti <- median(def$PROFITTI)

mediana_profitti

# 20. Selezionare solo righe con profitti maggiori di 1100

subset_def <-subset(def,PROFITTI>1100)

subset_def
# 1. Importare il file [Link] e creare il data frame impiegati

Impiegati<-[Link](“c:/tmp/[Link]”, stringsAsFactors=FALSE)

# 2. Mettere in minuscolo i valori della variabile DEPARTMENT

impiegati$DEPARTMENT <- tolower(impiegati$DEPARTMENT)

impiegati

# 3. Aumentare di 10 la variabile SALARY

impiegati$SALARY <- impiegati$SALARY + 10

impiegati

# 4. Moltiplicare per 0.01 la variabile AGE

impiegati$AGE <- impiegati$AGE * 0.01

impiegati

# 5. Creare la nuova variabile TOT_SALARY come somma di SALARY e BONUS

impiegati$TOT_SALARY <- impiegati$SALARY + impiegati$BONUS

impiegati

# 6. Arrotondare a 1 cifra decimale la variabile TOT_SALARY

impiegati$TOT_SALARY <- round(impiegati$TOT_SALARY,digits=1)

impiegati

# 7. Arrotondare a 0 cifre decimali la variabile AGE

impiegati$AGE <- round(impiegati$AGE, digits=0)

impiegati
# 8. Estrarre dalla variabile EMP_ID la stringa dal secondo carattere all’ultimo e creare la variabile
EMP_ID_NEW

impiegati$EMP_ID_NEW <- substr(impiegati$EMP_ID, 2,4)

impiegati

# 9. Abbandonare la variabile DEPARTMENT

drop<-c(-2)

impiegati<-impiegati[drop]

impiegati

# 10. Calcolare media, mediana, range, somma, minimo e massimo di TOT_SALARY

media_tot_salary <- mean(impiegati$TOT_SALARY)

mediana_tot_salary <- median(impiegati$TOT_SALARY)

range_tot_salary <- range(impiegati$TOT_SALARY)

somma_tot_salary <- sum(impiegati$TOT_SALARY)

min_tot_salary <- min(impiegati$TOT_SALARY)

max_tot_salary <- max(impiegati$TOT_SALARY)

# 11. Selezionare le sole osservazioni con AGE maggiore di 30

Subset(impiegati,AGE>30)

# 12. Visualizzare gli oggetti creati nella sessione di lavoro

ls()

# 13. Visualizzare la cronologia dei comandi

history()
# 1-2-3

Voti1<-[Link](“c:/tmp/[Link]”,stringsAsFactors=FALSE)

voti1

Voti2<-[Link](“c:/tmp/[Link]”,stringsAsFactors=FALSE)

voti2

Studenti<-[Link](“c:/tmp/[Link]”,stringsAsFactors=FALSE)

Student

# 4. Concatenare verticalmente voti1 e voti2

voti_def <- rbind(voti1, voti2)

voti_def

# 5. Unire voti_def e studenti su STUDENTID

voti_all <- merge(voti_def, studenti, by = "STUDENTID")

# 6. Mettere in maiuscolo CITY e in minuscolo GENDER

voti_all$CITY <- toupper(voti_all$CITY)

voti_all$GENDER <- tolower(voti_all$GENDER)


# 7. Creare la variabile STUDENTID_NEW

voti_all$STUDENTID_NEW <- substr(voti_all$STUDENTID, 2, 4)

# 8. Calcolare media, mediana, e quantili della variabile MARK

media_mark <- mean(voti_all$MARK)

media_mark

mediana_mark <- median(voti_all$MARK)

mediana_mark

quantili_mark <- quantile(voti_all$MARK)

quantili_mark

# 9. Calcolare range, varianza, deviazione standard di MARK

range_mark <- range(voti_all$MARK)

range_mark <- range

varianza_mark <- var(voti_all$MARK)

varianza_mark

sd_mark <- sd(voti_all$MARK)

sd_mark

# 10. Visualizzare le statistiche principali del data frame voti_all

summary(voti_all)

# 11. Costruire la distribuzione di frequenza per CLASS

table(voti_all$CLASS,dnn=c(“CLASSE”))

# 12. Costruire la distribuzione di frequenza a due vie per CLASS e MARK

table(voti_all$CLASS, voti_all$MARK, dnn=c(“CLASSE”,”VOTO”))

# 13. Costruire la distribuzione di frequenza a tre vie per CLASS, MARK e GENDER

table(voti_all$CLASS, voti_all$MARK, voti_all$GENDER,dnn=c(“CLASSE”,”VOTO”,”GENERE”))

# 14. Creare il data frame voti_9 per gli studenti con MARK pari a 9

voti_9 <-subset(voti_all, MARK== 9)

# 15. Visualizzare tutti gli oggetti creati

ls()

# 16. Visualizzare la cronologia dei comandi

history()
# 1) Importare il file [Link] creando il data frame ORDERS

ORDERS <- [Link]("[Link]",sep=”;”,stringsAsFactors=FALSE)

ORDERS

# 2) Importare il file [Link] creando il data frame CUSTOMERS

CUSTOMERS <- [Link]("[Link]",sep=”;”,stringsAsFactors=FALSE)

CUSTOMERS

# 3) Unire le due tabelle in base alla loro chiave unica, creando il data frame UNIONE

UNIONE <- merge(ORDERS, CUSTOMERS, by = "CUSTOMERID")

UNIONE

# 4) Modificare la colonna GENDER mettendola in minuscolo

UNIONE$GENDER <- tolower(UNIONE$GENDER)

UNIONE

# 5) Modificare la colonna TYPE mettendola in maiuscolo


UNIONE$TYPE <- toupper(UNIONE$TYPE)

UNIONE

# 6) Creare la nuova colonna TOTAL_AMOUNT come somma di AMOUNT e SHIPPING

UNIONE$TOTAL_AMOUNT <- UNIONE$AMOUNT + UNIONE$SHIPPING

UNIONE

# 7) Creare la nuova colonna TOTAL_AMOUNT_DISCOUNT data dal 90% di TOTAL_AMOUNT

UNIONE$TOTAL_AMOUNT_DISCOUNT <- UNIONE$TOTAL_AMOUNT * 0.9

UNIONE

# 8) Calcolare statistiche di TOTAL_AMOUNT_DISCOUNT

Media = mean(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Mediana = median(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Minimo = min(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Massimo = max(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Varianza = var(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Deviazione_Standard = sd(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Range = range(UNIONE$TOTAL_AMOUNT_DISCOUNT)

Quantili = quantile(UNIONE$TOTAL_AMOUNT_DISCOUNT)

# 9) Creare istogramma del numero di ordini per età del cliente

windows()

hist(UNIONE$AGE,main = "Numero ordini per fascia di età",xlab = "Fascia di età",ylab = "Numero


ordini",col = "red")

# 10) Creare grafico a barre del numero di ordini per genere del cliente

Counts<-table(UNIONE$GENDER)

Counts

Windows()

barplot(counts, main="Numero di ordini per genere di cliente", xlab="Genere", ylab="Numero


ordini", col="green")

windows()

barplot(counts, main="Numero di ordini per genere di cliente", xlab="Numero ordini",


ylab="Genere", horiz=TRUE, col="green")

windows()
plot(UNIONE$SHIPPING, UNIONE$TOTAL_AMOUNT, main="Importo ordini in funzione delle spese di
spedizione", xlab="Spese di spedizione", ylab="Importo ordini", col="blue")

windows()

boxplot(UNIONE$TOTAL_AMOUNT_DISCOUNT~UNIONE$GENDER, main="Importo scontato per


genere di cliente", xlab="Genere", ylab="Importo scontato", col="yellow")

ls()

history()

Potrebbero piacerti anche