Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione al programma RStudio, Appunti di Elementi di Informatica

Riassunto nozioni di base del programma RStudio

Tipologia: Appunti

2019/2020

Caricato il 24/09/2020

francesca.scalco
francesca.scalco 🇮🇹

4

(3)

7 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
RSTUDIO è un programma di interfaccia per il programma R, che appartiene alla famiglia dei linguaggi
interpretati. Ovvero, linguaggi che non richiedono di tradurre tutte le istruzioni da lanciare prima dell’esecuzione
del programma ma interpretano i comandi uno ad uno.
RStudio è un programma keysensitive ovvero distingue le lettere maiuscole dalle minuscole.
OPERAZIONI
Da Console si possono eseguire semplici operazioni matematiche utilizzando gli usuali simboli +, -, *, /, ^, %/%
(divisione intera), %% (operazione modulo), altre funzioni matematiche sono eseguibili utilizzando opportuni
comandi, i.e.: log, exp (logaritmo naturale ed elevamento a potenza su base e), sin, cos (funzioni
trigonometriche), sqrt (radice quadrata). Il risultato delle operazioni può essere stampato a video oppure
memorizzato nell’area di lavoro creando un oggetto il cui nome è definito dall’utente.
STRUTTURA DEI DATI
In R è possibile lavorare non solo con numeri scalari, ma anche con vettori, matrici, array, …
Dati omogenei: dello stesso tipo. Ad esempio vector, matrix e array.
Dati non omogenei: list e dataframe.
L’omogeneità si ha rispetto ai tipi di base di interesse per il calcolo che sono
logico (logical), per valori TRUE o FALSE;
intero (integer), per valori interi a 32 bit;
numerici (numeric), per valori reali a 64 bit;
complesso (complex), per valori complessi, a + ib;
carattere (character), per caratteri isolati o insiemi di caratteri, stringhe (string).
SCARICARE UNA LIBRERIA DA R
1. Tool
2. Install packages
3. Si apre una finestra in cui bisogna digitare il nome del pacchetto che si desidera scaricare
4. Lasciare anche la spunta
5. Installare
6. Ora il pacchetto appena scaricato deve essere caricato →verrà letto e portato nella ram
7. Sotto i messaggi di installazione digito “library(nome pacchetto scaricato)”
8. Ora avremo le operatività che questo modulo permette
→ Quando si decide di chiudere il programma, tali moduli, essendo solo scaricati, verranno anch’essi chiusi.
Quando si riapre il programma bisognerà ricaricarli.
Alcuni pacchetti sono già scaricati e salvati nella library, quindi basta digitare library(mass) sulla console.
VARIABILI QUANTITATIVE
R nasce per l'elaborazione e l'analisi dei dati quindi ci sono anche i vettori che servono per memorizzare dati
qualitativi. Le variabili quantitative in linguaggio tecnico si dicono di tipo fattoriale (in R factor). Essi sono
caratterizzati dall'avere dei livelli predefiniti, che possono essere ordinabili oppure no.
→se sono ordinabili- variabili di tipo qualitativo ordinabile
→se non sono ordinabili- variabili qualitative sconnesse
Esempio 1
sesso=c("M","F","M","F")
is(sesso) #richiamo le caratteristiche dell'oggetto
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Introduzione al programma RStudio e più Appunti in PDF di Elementi di Informatica solo su Docsity!

RSTUDIO è un programma di interfaccia per il programma R, che appartiene alla famiglia dei linguaggi interpretati. Ovvero, linguaggi che non richiedono di tradurre tutte le istruzioni da lanciare prima dell’esecuzione del programma ma interpretano i comandi uno ad uno. RStudio è un programma keysensitive ovvero distingue le lettere maiuscole dalle minuscole. OPERAZIONI Da Console si possono eseguire semplici operazioni matematiche utilizzando gli usuali simboli +, -, *, /, ^, %/% (divisione intera), %% (operazione modulo), altre funzioni matematiche sono eseguibili utilizzando opportuni comandi, i.e.: log, exp (logaritmo naturale ed elevamento a potenza su base e), sin, cos (funzioni trigonometriche), sqrt (radice quadrata). Il risultato delle operazioni può essere stampato a video oppure memorizzato nell’area di lavoro creando un oggetto il cui nome è definito dall’utente. STRUTTURA DEI DATI In R è possibile lavorare non solo con numeri scalari, ma anche con vettori, matrici, array, …  Dati omogenei: dello stesso tipo. Ad esempio vector, matrix e array.  Dati non omogenei: list e dataframe. L’omogeneità si ha rispetto ai tipi di base di interesse per il calcolo che sono  logico (logical), per valori TRUE o FALSE;  intero (integer), per valori interi a 32 bit;  numerici (numeric), per valori reali a 64 bit;  complesso (complex), per valori complessi, a + ib;  carattere (character), per caratteri isolati o insiemi di caratteri, stringhe (string). SCARICARE UNA LIBRERIA DA R

  1. Tool
  2. Install packages
  3. Si apre una finestra in cui bisogna digitare il nome del pacchetto che si desidera scaricare
  4. Lasciare anche la spunta
  5. Installare
  6. Ora il pacchetto appena scaricato deve essere caricato →verrà letto e portato nella ram
  7. Sotto i messaggi di installazione digito “library(nome pacchetto scaricato)”
  8. Ora avremo le operatività che questo modulo permette → Quando si decide di chiudere il programma, tali moduli, essendo solo scaricati, verranno anch’essi chiusi. Quando si riapre il programma bisognerà ricaricarli. Alcuni pacchetti sono già scaricati e salvati nella library, quindi basta digitare library(mass) sulla console. VARIABILI QUANTITATIVE R nasce per l'elaborazione e l'analisi dei dati quindi ci sono anche i vettori che servono per memorizzare dati qualitativi. Le variabili quantitative in linguaggio tecnico si dicono di tipo fattoriale (in R factor). Essi sono caratterizzati dall'avere dei livelli predefiniti, che possono essere ordinabili oppure no. →se sono ordinabili- variabili di tipo qualitativo ordinabile →se non sono ordinabili- variabili qualitative sconnesse Esempio 1 sesso=c("M","F","M","F") is(sesso) #richiamo le caratteristiche dell'oggetto

summary(sesso) #riassunto delle caratteristiche dell'oggetto table(sesso) #creo tabella frequenze Per trasformare tale oggetto in factor sesso.f=factor(sesso,levels = c("M","F"),labels = c("maschio","femmina")) #levels rappresenta i livelli possibili del fattore #lables decodifica il significato di M e F is(sesso.f) #ora ci dirà che è un factor summary(sesso.f) table(sesso.f) #se voglio creare una tabella delle frequenze è meglio usare table e non summary Esempio 2 nome="Francesca" cognome="Scalco" vett=1: mylist=list(nome,cognome,vett) mylist #per vedere gli oggetti che questa lista contiene MATRICI Le matrici, come i vettori, possono contenere solo elementi dello stesso tipo. matrix(x, nrow = , ncol = , byrow = T/F)

x: valori numerici

nrow=… numero di righe

ncol=… numero di colonne

byrow=T/F permette di decidere se la matrice viene riempita per riga (T) oppure per colonna (F)

  • Possiamo anche decidere di estrapolare un solo numero dalla tabella appena costruita. mat<-matrix(vett,nrow = 3, ncol = 5, byrow = T) #assegnazione a mat mat[3,4] #stampo un numero preciso mat[3,] #stampo solo una riga della tabella mat[,4] #stampo solo una colonna della tabella (in formato riga) Operazioni matriciali  Trasposizione: t(mat)  Prodotto tra matrici: A=matrix(c(23,45,66,32,12,20,3,6,4,6,78,34,2,2,12), nrow = 3, ncol = 5, byrow = T) #A deve avere la stessa dimensione dell’altra matrice per poter fare il prodotto A*mat DATA FRAME Esso deve contenere oggetti omogenei nei come vettori e matrici. I data frame permettono di considerare nello stesso dataset variabili numeriche e categoriche. Essi possono rappresentare un insieme di dati organizzati per riga→ ogni riga del data frame corrisponde ad una unità statistica e ogni colonna rappresenta una variabile osservata. La struttura che viene a crearsi consente anche delle analisi preliminari. FUNZIONI Le funzioni possono eseguire uno o più comandi in sequenza. Esse sono simili a dei programmi che R esegue interpretando i comandi uno ad uno, per passarli poi, sempre uno alla volta, alla CPU. DATASET
  1. blocco iniziale
  2. freccia in uscita
  3. blocco successivo (si esegue l’operazione descritta nel blocco)
  4. si ripetono i passi 2 e 3 fino a giungere al
  5. blocco finale. PSEUDOCODICE è la descrizione passo a passo del processo (o dell’algoritmo) in un linguaggio simile a quello naturale ed è utile per descrivere come un algoritmo dovrebbe funzionare, spiegare il processo di calcolo in termini meno tecnici e progettare un codice in un gruppo di lavoro. Lo pseudocodice è soggettivo, per questo motivo è opportuno indicare all’inizio lo scopo dell’algoritmo, scrivere un solo comando per riga, commentare ogni riga dello pseudocodice e utilizzare spazi bianchi e indentazioni per agevolarne la lettura e la comprensione. Caratteristiche  Agevola l’attività di programmazione.  È usato nelle fasi di sviluppo di un programma per rappresentare il funzionamento di un algoritmo (alternativa ai diagrammi di flusso).  Consente di strutturare le istruzioni che verranno passate al calcolatore con una struttura logica ma con termini simili al linguaggio naturale senza ambiguità.  Non è un codice eseguibile dalla macchina. Ogni programma può essere scritto con solo tre tipi di strutture:  sequenza (sequence)- sviluppo del programma secondo l’ordine delle istruzioni;  selezione (selection)- valutazione di una espressione logica con risultato che determina una successiva esecuzione;  iterazione (iteration)- esecuzione ciclica di una serie di istruzioni identiche. →Non esiste un documento ufficiale o uno standard con le regole di scrittura dello pseudocodice. ALGEBRA DEI CALCOLATORI è caratterizzata da variabili che possono assumere solo due valori 0 e 1. Viene anche chiamata ALGEBRA BOOLEANA Funzione booleana: Applicando una funzione booleana a più variabili dicotomiche (0,1) il valore che ne risulta appartiene a sua volta uno spazio booleano B = {0, 1}. Poichè ciascuna delle variabili può assumere solo due valori allora il dominio della funzione booleana f (·) a k variabili sarà costituito dalle 2 K^ disposizioni dei due valori delle k variabili. Data una funzione Y = f (X1, ..., Xk ) di k variabili booleane è possibile costruire una tabella delle verità che riassume tutte le possibili combinazioni delle variabili Xi e i relativi valori che la funzione f può assumere in corrispondenza di ciascuna di queste combinazioni. Il valore che può assumere una funzione booleana a K variabili dipenderà dagli operatori logici che legano le K della funzione. NOT → negazione/complementazione [!] Si utilizza su una o più variabili logiche. Il risultato che si ottiene è lo stato logico opposto rispetto a quello in ingresso. OR → disgiunzione/somma logica [V] Il risultato che si ottiene sarà lo stato logico VERO (T) se almeno una delle variabili di input ha lo stato logico VERO. In R, questa funzione logica può essere scritta anche utilizzando i simboli | e +. AND → congiunzione/prodotto logico [∧]

Si può utilizzare tra due o più variabili logiche. Il risultato che si ottiene sarà lo stato logico VERO (T) solo se tutte le variabili hanno lo stato logico VERO. In R, questa funzione logica può essere scritta anche utilizzando i simboli & e ¿. XOR → OR esclusivo [V_] Si può utilizzare solo tra due variabili logiche. Il risultato che si ottiene sarà lo stato logico VERO (T) solo se le due variabili assumono stati logici diversi. In R, questa funzione logica può essere scritta anche utilizzando il simbolo xor(x1,x2). Gerarchia operatori booleani: NOT, AND, OR, XOR. CONFRONTI LOGICI IN R Quando si effettua un confronto logico in R il risultato potrà essere T o F. Il risultato del confronto sarà una variabile booleana nel caso in cui T(=1) e F(=0). Sintassi:  == per verificare l’uguaglianza tra due oggetti.  != per verificare se il primo oggetto è diverso dal secondo.  > per verificare se il primo oggetto è maggiore dal secondo.  < per verificare se il primo oggetto è minore dal secondo.  >= per verificare se il primo oggetto è maggiore uguale dal secondo.  <= per verificare se il primo oggetto è minore uguale dal secondo. CODIFICA DELLA STRUTTURA DI SELEZIONE Si tratta di una struttura che effettua dei controlli e in base a questi decide se eseguire un blocco di istruzioni oppure di saltarle.  IF se la condizione che andiamo a testare è vera, allora eseguiremo un blocco, altrimenti questo blocco verrà saltato.  IF-ELSE se la condizione si realizza allora di effettua un’attività altrimenti se ne svolge un’altra.  IFELSE è la forma vettorizzata degli operatori IF-ELSE. →ifelse(condizione, risultato se condizione VERA, risultato se condizione FALSA) L’utilizzo di ifelse è utile quando non si hanno blocchi di istruzioni condizionate e l’effetto dell’istruzione ifelse ha un impatto solo su una variabile. CICLI  FOR esegue un certo numero di volte un blocco di istruzioni.  WHILE esegue il blocco di istruzioni finchè una certa condizione rimane vera. Controlli interni ai cicli I cicli possono essere controllati dall’interno. Le funzioni più importanti sono:  NEXT permette di saltare alla fine della sequenza di istruzioni di un blocco iterativo contenuto nel ciclo FOR. Esso interrompe l'interazione attiva e parte con l'interazione successiva, saltando le iterazioni presenti nel blocco.  BREAK ha l'effetto di uscire dal ciclo FOR.

n=as.numeric(n) } p.greco= for(i in 1:n){ # inizio ciclo per calcolare sommatoria p.greco=p.greco+1/i^ } p.greco=(90*p.greco)^(1/4)

stampo risultato

message(paste("Il valore di pi greco approssimato con i primi",n,"termini")) message(paste("della formula di Riemann è:",p.greco)) return(p.greco) } Miglioramento 2 La sommatoria che abbiamo inizialmente sviluppato con un ciclo for si può sostituire con il comando sum applicato ad un vettore opportuno di valori che dipende dal vettore 1:n. Riemann.2=function(n=500){ while(n < 1 | (n%%1)>0){ # controllo correttezza input n=readline("Inserire numero intero positivo ") n=as.numeric(n) } p.greco <- (90 * sum(1/(1:n)^4))^(1/4) # calcolare pi greco

stampo risultato

message(paste("Il valore di pi greco approssimato con i primi",n,"termini")) message(paste("della formula di Riemann è:", p.greco)) return(p.greco) } as.numeric si usa per trasformare una stringa in un dato numerico. Ad esempio: as.numeric(readline(“digitare un numero”)) digitare un numero 4 [1] 4 is.numeric è usato per verificare che il fdato inserito sia numerico.