Modulo III - Introduzione ad R
|
|
- Martino Silvestri
- 6 anni fa
- Visualizzazioni
Transcript
1 Modulo III - Introduzione ad R Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management elisabetta.ronchieri@unife.it 7 Novembre 2016 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
2 Contenuti 1 Vettori 2 Array e Matrici Matrici Array 3 Fattori 4 Lista 5 Data Frame Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
3 Strutture dati Nei linguaggi di programmazione ad alto livello non si ha accesso diretto alla memoria fisica, ma ad una sua astrazione tramite una struttura dati. R fornisce le seguenti strutture dati: Vettori Array e matrici Fattori Liste Data frame Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
4 Vettori I vettori rappresentano sequenze ordinate di elementi omogenei. Un vettore v è rappresentabile tramite una struttura unidimensionale. v Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
5 Creazione di vettori La funzione c() permette di concatenare gli elementi di un vettore. Vettore di interi > c ( 1, 2, 3 ) [ 1 ] Vettore di caratteri > c ( A, B, C ) [ 1 ] A B C Vettore di stringhe > c ( e u r o, d o l l a b o r, f r a n c o s v i z z e r o ) [ 1 ] e u r o d o l l a b o r f r a n c o s v i z z e r o Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
6 Variabili ed assegnamenti Un vettore può essere assegnato ad una variabile. Assegnare un vettore alla variabile v1 > v1< c ( 1, 2, 3 ) > v1 [ 1 ] Assegnare un nuovo valore alla variabile v1, cancellando il contenuto precedente > v1< c ( 4, 5 ) > v1 [ 1 ] 4 5 Assegnare un vettore di un elemento ad una variabile v2 > v2< 1 > v2 [ 1 ] 1 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
7 Tipi elementari di vettori I vettori sono sequenze ordinate i cui elementi possono essere di 3 tipi base: 1 Numerici: numeri interi o con la virgola (codificata con il.); 2 Caratteri: singoli caratteri o stringhe (sequenze) di caratteri; 3 Logici: TRUE (T) o FALSE (F) Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
8 Operazioni aritmetiche tra vettori Le operazioni aritmetiche vengono eseguite sui vettori elemento per elemento. Addizione e sottrazione. > v1 < c ( 1, 2, 3) > v2 < c ( 4, 5, 6) > v3 < v1 + v2 > v3 [ 1 ] > v4 < v2 v1 > v4 [ 1 ] Moltiplicazione e divisione. > v1 < c ( 1, 2, 3) > v2 < c ( 4, 5, 6) > v3 < v1 v2 > v3 [ 1 ] > v4 < v2 / v1 > v4 [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
9 Regola del riciclo Se si sommano due vettori di diversa lunghezza in R, il vettore più corto viene ripetuto tante volte fino a raggiungere la lunghezza del vettore di maggior lunghezza. La regola vale anche per altre strutture dati e per altre operazioni. > v1 < c ( 1, 2 ) > v1 [ 1 ] 1 2 > v2 < c ( v1, v1 ) > v2 [ 1 ] > v3 < c ( 3, 4, 5, 6 ) > v2 v3 [ 1 ] > # i l v e t t o r e v1 v i e n e r i p e t u t o due > # v o l t e ( r e g o l a d e l r i c i c l o ) > v1 v2 [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
10 Funzioni applicate a vettori numerici Di seguito alcune funzioni applicate ai vettori. > v1 < c ( 1, 2, 3 ) > mean ( v1 ) [ 1 ] 2 > max( v1 ) [ 1 ] 3 > min ( v1 ) [ 1 ] 1 > range ( v1 ) [ 1 ] 1 3 > sum ( v1 ) [ 1 ] 6 > prod ( v1 ) [ 1 ] 6 > v2< c ( 1, 2, 2, 4, 5 ) > unique ( v2 ) [ 1 ] > # p o s i z o i n e d i 2 i n v2 > which ( v2==2) [ 1 ] 2 3 > union ( v1, v2 ) [ 1 ] > i n t e r s e c t ( v1, v2 ) [ 1 ] 1 2 > s e t d i f f ( v1, v2 ) [ 1 ] 3 > i s. e l e m e n t ( 7, v2 ) [ 1 ] FALSE > v3< c ( 2, 1, 4, 3 ) > v4< s o r t ( v3 ) > # ordinamento c r e s c e n t e > s o r t ( v3 ) [ 1 ] > # p o s i z i o n e d e g l i i n d i c i d e l v e t t o r e > # o r d i n a t o i n modo c r e s c e n t e > o r d e r ( v3 ) [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
11 Generazioni di sequenze di numeri Di seguito alcune funzioni che permettono di generare sequenze di numeri. Funzione c() > c ( 1 : 1 0 ) [ 1 ] > c ( 5 : 1 ) [ 1 ] Funzione seq() che può avere 5 argomenti > seq ( 1, 1 0 ) [ 1 ] > seq ( from=1, to =4, by =0.5) [ 1 ] Funzione rep() > rep ( c ( 1, 2 ), t i m e s =4) [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
12 Operazioni logiche su vettori I vettori possono assumere valori logici. Gli opeatori logici: <, <=, <, >, ==,! = > v < 3 : 8 > v > 5 [ 1 ] FALSE FALSE FALSE TRUE TRUE TRUE > v <= 5 [ 1 ] TRUE TRUE TRUE FALSE FALSE FALSE > # o p e r a t o r e u g u a g l i a n z a == > v == 5 [ 1 ] FALSE FALSE TRUE FALSE FALSE FALSE > # o p e r a t o r e d i s e g u a g l i a n z a!= > v!= 5 [ 1 ] TRUE TRUE FALSE TRUE TRUE TRUE > > v [ v>5] [ 1 ] > v [ v<=5] [ 1 ] > > v [ v==5] [ 1 ] 5 > > v [ v!=5 ] [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
13 Dati mancanti Alcuni elementi di un vettore possono essere non noti o disponibili. NA o Not Available è il valore speciale che viene attribuito a tale elemento da R. Qualunque operazione che coinvolga valori NA ha come risultato NA. > v< c ( 1 : 4, NA) > v [ 1 ] NA > v + 2 [ 1 ] NA NA non è un valore ma un marcatore di una quantità non disponibile. Per individuare quali elementi siano effettivamente NA in un vettore si deve usare la funzione is.na(): > i s. na ( v ) [ 1 ] FALSE FALSE FALSE FALSE TRUE Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
14 Selezione e accesso a sottoinsiemi di elementi di un vettore Esistono diverse modalità di accesso a singoli elementi o a sottoinsiemi di elementi di un vettore. La selezione e l accesso avviene tramite l operatore [] (parentesi quadre). Sottoinsiemi di elementi di un vettore sono selezionati collegando al nome del vettore un vettore di indici in parentesi quadre. Esistono 4 diverse modalità di selezione/accesso: vettori di indici interi positivi vettore di indici interi negativi vettore di indici logici vettori di indici a caratteri Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
15 Selezione e accesso a sottoinsiemi di elementi di un vettore Gli elementi di un vettore v1 sono selezionati tramite un vettore v2 di indici positivi racchiuso fra parentesi quadre: v1[v2]. > v1 < 1 : 5 > v1 [ 1 ] # s e l e z i o n e d i un s i n g o l o elemento [ 1 ] 1 > v1 [ 5 ] [ 1 ] 5 > l e n g t h ( v1 ) # l u n g h e z z a d e l v e t t o r e [ 1 ] 5 > v1 [ 7 ] # a c c e s s o ad un e l e mento f u o r i r a n g e [ 1 ] NA > v1 [ 2 : 4 ] [ 1 ] > v1 [ c ( 1, 3, 5 ) ] [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
16 Selezione e accesso a sottoinsiemi di elementi di un vettore Gli elementi di un vettore v1 che devono essere esclusi sono selezionati tramite un vettore v2 di indici negativi racchiuso fra parentesi quadre: v1[v2]. > v1 < rep ( c ( A, B, C ), t i m e s =3) > v1 [ 1 ] A B C A B C A B C > v2 < v1 [ ( 1 : 5 ) ] # s e l e z i o n a t i t u t t i g l i e l e m e n t i d i v1 e c c e t t o i p r i m i 5 > v2 [ 1 ] C A B C > v2 < v2[ l e n g t h ( v2 ) ] # c a n c e l l a z i o n e d e l l u l t i m o elemento d i v2 > v2 [ 1 ] C A B Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
17 Selezione e accesso a sottoinsiemi di elementi di un vettore Gli elementi di un vettore v1 sono selezionati tramite un vettore v2 di indici logici. Il vettore indice deve essere della stessa lunghezza del vettore i cui elementi devono essere selezionati. Sono selezionati gli elementi corrispondenti a TRUE nel vettore degli indici ed omessi quelli corrispondenti a FALSE. > v1 < c ( 1 : 5,NA,NA) > v1 [ 1 ] NA NA > v2 < c ( rep (TRUE, t i m e s =3), rep (FALSE, t i m e s =4)) > v2 # v2 i l v e t t o r e i n d i c e l o g i c o [ 1 ] TRUE TRUE TRUE FALSE FALSE FALSE FALSE > v1 [ v2 ] # s e l e z. e l e m e n t i t r a m i t e v e t t. i n d i c e l o g i c o [ 1 ] > v1 [! i s. na ( v1 ) ] # s e l e z i o n e e l e m e n t i che non sono NA [ 1 ] > v1 [! i s. na ( v1 ) & v1 > 2 ] [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
18 Selezione e accesso a sottoinsiemi di elementi di un vettore Gli elementi di un vettore v1 sono selezionati tramite un vettore v2 di indici a caratteri. È applicabile quando un vettore possiede un attributo names per identificare le sue componenti. > campione < c ( 45, 2000, 500) > names ( campione ) < c ( Eta, S t i p e n d i o, Tasse ) > campione Eta S t i p e n d i o Tasse > Eta. S t i p e n d i o < campione [ c ( Eta, S t i p e n d i o ) ] > Eta. S t i p e n d i o Eta S t i p e n d i o > Eta. Tasse < campione [ c ( Eta, Tasse ) ] > Eta. Tasse Eta Tasse Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
19 Esercizi 1 Generare un vettore v contenente i primi 10 interi positivi. 2 Costruire una sequenza s costituita da 3 ripetizioni in sequenza dei caratteri A, B e C. Estrarre dalla sequenza ottenuta una sotto sequenza ss in cui compaiano tutti gli elementi di s eccetto il carattere C; Aggiungere in coda alla sequenza ottenuta 3 valori NA; Riottenere la sequenza ss tramite la funzione is.na(). 3 Cosa accade se si prova a costruire un vettore eterogeneo di numeri e caratteri? 4 Cosa accade se si prova a costruire un vettore eterogeneo di numeri e di valori logici? 5 Generare un vettore v di 10 numeri che vanno da -2 a 7 e selezionare solo quelli positivi. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
20 Array e Matrici Le matrici sono estensioni bidimensionali di vettori Per accedere o modificare un elemento della matrice è necessaria una coppia di indici. Detta m la matrice di sopra, per selezionare l elemento nella riga 1 e colonna 2: > m[ 1, 2 ] [ 1 ] 4 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
21 Array e Matrici Gli array sono estensioni multidimensionali di vettori. Per accedere o modificare un elemento di un array tridimensionale sono necessari 3 indici. Gli array possono avere dimensione arbitraria limitatamente alla dimensione della memoria. Le matrici sono array bidimensionali. Sugli array sono applicabili le medesime operazioni di accesso e modifica viste per i vettori ma estese a più dimensioni. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
22 Matrici Le matrici sono array bidimensionali Gli elementi di una matrice sono selezionati tramite una coppia di indici racchiusi fra parentesi quadre. Detta m la matrice di sopra: per selezionare l elemento nella riga 1 e colonna 2: > m[ 1, 2 ] [ 1 ] 4 per selezionare l elemento nella riga 3 e colonna 3: > m[ 3, 3 ] [ 1 ] 9 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
23 Costruzione di matrici La funzione matrix() permette di creare una matrice m a partire da un vettore esistente v, assegnando i valori per colonna. > v < 1 : 1 2 > m < m a t r i x ( v, nrow=3) > m [, 1 ] [, 2 ] [, 3 ] [, 4 ] [ 1, ] [ 2, ] [ 3, ] La funzione length() restituisce il numero degli elementi nella matrice. > l e n g t h (m) [ 1 ] 12 La funzione mode() visualizza il tipo dei dati. > mode(m) [ 1 ] numeric La funzione dim() restituisce le dimensioni della matrice, riportando prima il numero di righe e poi quello delle colonne. > dim (m) [ 1 ] 3 4 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
24 Costruzione di matrici La funzione matrix() possiede diversi parametri. > v < 1 : 1 2 > m < m a t r i x ( v, n c o l =3) > m [, 1 ] [, 2 ] [, 3 ] [ 1, ] [ 2, ] [ 3, ] [ 4, ] L argomengo byrow=t permette di inserire gli elementi per riga. > m < m a t r i x ( 1 : 1 2, n c o l =3, byrow=t) > m [, 1 ] [, 2 ] [, 3 ] [ 1, ] [ 2, ] [ 3, ] [ 4, ] Verificare come risulta la matrice m se si mette ncol=5. Vale ancora la regola del riciclo. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
25 Costruzione di matrici La funzione cbind() forma matrici legando insieme vettori o matrici per colonna. > v1 < 1 : 3 > v2 < 4 : 6 > m < c b i n d ( v1, v2 ) > m v1 v2 [ 1, ] 1 4 [ 2, ] 2 5 [ 3, ] 3 6 Verificare come risulta la matrice m se si mettono vettori di lunghezza diversa. Vale ancora la regola del riciclo. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
26 Costruzione di matrici La funzione rbind() forma matrici legando insieme vettori o matrici per riga. > v1 < 1 : 3 > v2 < 4 : 6 > m < r b i n d ( v1, v2 ) > m [, 1 ] [, 2 ] [, 3 ] v v Verificare come risulta la matrice m se si mettono vettori di lunghezza diversa. Vale ancora la regola del riciclo. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
27 Operazioni aritmetiche con matrici Somma e prodotto con costanti. > v< 1 : 4 > M< m a t r i x ( v, nrow=2) > M [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 > M+2 [, 1 ] [, 2 ] [ 1, ] 3 5 [ 2, ] 4 6 > M 2 [, 1 ] [, 2 ] [ 1, ] 2 6 [ 2, ] 4 8 Somma e prodotto tra matrici elemento per elemento. > M+M [, 1 ] [, 2 ] [ 1, ] 2 6 [ 2, ] 4 8 > M M [, 1 ] [, 2 ] [ 1, ] 1 9 [ 2, ] 4 16 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
28 Accesso agli elementi di un array e matrice Le regole di accesso per array e matrici seguono quelle viste per i vettori, considerando l esistenza di più indici e quindi la possibilità di utilizzare un vettore per ogni dimensione: Vettori di indici interi positivi; Vettore di indici interi negativi; Vettore di indici logici; Vettori di indici a caratteri. Si utilizza un vettore di indici per ogni dimensione dell array. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
29 Accesso agli elementi di una matrice > m < m a t r i x ( 1 : 1 2, nrow=2) > m [, 1 ] [, 2 ] [, 3 ] [, 4 ] [, 5 ] [, 6 ] [ 1, ] [ 2, ] > # e l. r i g a 1, c o l o n n a 2 > m[ 1, 2 ] [ 1 ] 3 > # e l. r i g a 1, c o l o n n e 3 e 4 > m [ 1, 3 : 4 ] [ 1 ] 5 7 > # r i g h e 1 e 2, c o l o n n e 4, 5 e 6 > m [ 1 : 2, 4 : 6 ] [, 1 ] [, 2 ] [, 3 ] [ 1, ] [ 2, ] > # t u t t i g l i e l. d e l l a r i g a 1 > m[ 1, ] [ 1 ] > # t u t t i g l i e l. c o l o n n a 3 > m[, 3 ] [ 1 ] 5 6 > # t u t t i g l i e l. c o l o n n e 1, 2 e 6 > m[, c ( 1, 2, 6 ) ] [, 1 ] [, 2 ] [, 3 ] [ 1, ] [ 2, ] > # e s c l u s i o n e c o l o n n a 4 > m[, 4] [, 1 ] [, 2 ] [, 3 ] [, 4 ] [, 5 ] [ 1, ] [ 2, ] > # e l. > 4 > m[m>4] [ 1 ] > # assegnazione di un nome a l l e componenti > dimnames (m)< l i s t ( c ( r i g a 1, r i g a 2 ), + p a s t e ( c, 1 : 6, sep= ) ) > m c1 c2 c3 c4 c5 c6 r i g a r i g a > # v e t t o r i i n d i c e a c a r a t t e r i > m[ r i g a 1, c2 ] [ 1 ] 3 > m[ r i g a 1, ] c1 c2 c3 c4 c5 c Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
30 Creazione di array La funzione array() permette di creare degli array. > # 1 parametro contiene g l i elementi > # 2 parametro l e dimensioni : > # 4 numero di righe, 2 numero di colonne, 3 numero di m a t r i c i > a < a r r a y ( 2 4 : 4 9, dim=c ( 4, 2, 3 ) ) > # 1 m a t r i c e > a [,, 1 ] [, 1 ] [, 2 ] [ 1, ] [ 2, ] [ 3, ] [ 4, ] > # 2 r i g a p e r t u t t e l e m a t r i c e p e r c o l o n n a > a [ 2,, ] [, 1 ] [, 2 ] [, 3 ] [ 1, ] [ 2, ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
31 Esercizi 1 Costruire una matrice m1 5X5 composta da numeri casuali in almeno 2 modi diversi utilizzando le funzioni matrix() ed array(). 2 Costruire 2 matrici di caratteri a piacere m2 e m3, la prima di dimensione 3X3, la seconda di dimensione 2X3. Modificare con un unico assegnamento la matrice m2 in modo da sostituire le sue 2 prime colonne con le ultime 2 righe di m3. 3 Costruire due matrici m4 e m5 che abbiano entrambe 3 colonne. Costruire, se possibile, tramite rbind() una matrice m6 di 3 colonne che abbia come righe le righe di entrambe le matrici. Utilizzando m4 e m5, è possibile costruire una matrice m7 tramite cbind()? 4 Costruire una matrice m di 5 colonne con la sequenza di numeri da 1 a 11.5 con passo 0.5 inseriri per riga. Sommare ai valori nella terza riga il numero 1. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
32 Fattori I fattori sono strutture dati per indicare variabili di tipo vettore nominato in grado di rappresentare informazioni di tipo categorico o qualitativo. I diversi valori sono collocati all interno di livelli, usati per raggruppare i dati. I livelli possono essere rappresentati da sigle (come A o B ) o da stringhe (come Alto o Basso ) o da codici numerici. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
33 Fattori Supponiamo di avere dati sulle Università italiane. Di seguito ne sono riportate alcune. Nome UniFer UniBo Bocconi Categoria Pubblica Pubblica Privata I dati contengono due variabili: il nome della Università e la categoria. Il nome è un dato univoco che caratterizza ogni singola Università (non si usa come criterio di raggruppamento). La categoria, al contrario, è una variabile che può assumere solo due valori (Pubblica o Privata) e consente di suddividere le Università in due gruppi. Le variabili nome e categoria sono caratteri, ma solo la variabile categoria può essere un fattore. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
34 Costruzione di fattori La funzione factor() permette di creare un fattore. > f < f a c t o r ( rep ( c ( e u r o, d o l l a r o ), c ( 3, 4 ) ) ) > f [ 1 ] e u r o e u r o e u r o d o l l a r o d o l l a r o d o l l a r o d o l l a r o L e v e l s : d o l l a r o e u r o > # d o l l a r o \ e n e l l a p o s i z i o n e 1 > # e u r o \ e n e l l a p o s i z i o n e 2 La funzione level() visualizza solo i livelli del fattore. > l e v e l s ( f ) [ 1 ] d o l l a r o e u r o La funzione str() visualizza in modo succinto la struttura dati di un oggetto. > s t r ( f ) F a c t o r w/ 2 l e v e l s d o l l a r o, e u r o : La funzione summary() fornisce una tabella della frequenze dei due livelli euro e dollaro. > summary ( f ) d o l l a r o e u r o 4 3 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
35 Operazioni logiche sui fattori Partendo dal fattore f. > f < f a c t o r ( rep ( c ( e u r o, d o l l a r o ), c ( 3, 4 ) ) ) > f [ 1 ] e u r o e u r o e u r o d o l l a r o d o l l a r o d o l l a r o d o l l a r o L e v e l s : d o l l a r o e u r o Le operazioni logiche possono essere applicate per estrarre informazioni legate ai livelli. > f [ f== e u r o ] [ 1 ] e u r o e u r o e u r o L e v e l s : d o l l a r o e u r o > f [ f!= e u r o ] [ 1 ] d o l l a r o d o l l a r o d o l l a r o d o l l a r o L e v e l s : d o l l a r o e u r o > f [ f> e u r o ] [ 1 ] <NA> <NA> <NA> <NA> <NA> <NA> <NA> L e v e l s : d o l l a r o e u r o Warning message : I n Ops. f a c t o r ( f, e u r o ) : > not m e a n i n g f u l f o r f a c t o r s Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
36 Esercizi 1 Costruire un fattore di 12 elementi (stringhe), caratterizzato da 3 diversi livelli. 2 Costruire un fattore ordinato di 15 elementi di livelli basso < medio < alto. 3 Quali strutture dati si potrebbero scegliere per modellare un data set caratterizzato da un insieme di clienti di una banca morosi e non sottoposti a 5 diversi tipi di analisi? Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
37 Lista Le liste rappresentano un insieme ordinato di oggetti (componenti). Le componenti possono non essere dello stesso tipo o modo. Quindi le liste rappresentano insiemi di oggetti eterogenei. I componenti possono essere: un vettore numerico, un valore logico, una matrice, un array di caratteri, una funzione o un altra lista. La lista è una struttura dati ricorsiva, poichè una sua componente può essere a sua volta una lista (e la lista componente può avere come componente un altra lista). Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
38 Lista come insieme ordinato di oggetti eterogenei Rappresentazione di una lista composta da oggetti eterogenei: un valore logico, un vettore di interi, un altra lista ed una matrice di caratteri. valore logico T vettore di interi lista 5.6 BC matrice di caratteri A B C D E F G H I Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
39 Costruzione di una lista La funzione list() permette di creare una lista. I componenti delle liste sono sempre numerati. È possibile assegnare alle componenti un nome: > l< l i s t (T, c ( 1, 2, 0 ) ) > l [ [ 1 ] ] [ 1 ] TRUE [ [ 2 ] ] [ 1 ] > l< l i s t ( l o=t, v=c ( 1, 2, 0 ) ) > l $ l o [ 1 ] TRUE $v [ 1 ] Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
40 Accesso alle componenti di una lista Esistono tre modalità di accesso alle componenti di una lista: 1 accesso tramite indice numerico racchiuso fra doppie parentesi quadre; 2 accesso tramite il nome delle componenti; 3 accesso tramite indice a caratteri. Accedere alle componenti tramite gli operatori [[]] e [] produce risultati sostanzialmente differenti. Operatore [[]] seleziona l oggetto contenuto nella lista escludendo l eventuale nome associato all oggetto. Operatore [] seleziona una sottolista, riferendosi ad un elemento di modo list, ed includendo l eventuale nome associato all oggetto. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
41 Accesso alle componenti di una lista Supponiamo di avere la seguente lista l. > l < l i s t ( l o=t, + v=c ( 1, 2, 0, 4, 3 ), + m=m a t r i x ( 1 : 4, nrow =2)) > l $ l o [ 1 ] TRUE $v [ 1 ] Accesso tramite indice a caratteri: > l [ [ m ] ] [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 $m [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
42 Accesso alle componenti di una lista Supponiamo di avere la seguente lista l. > l < l i s t ( l o=t, + v=c ( 1, 2, 0, 4, 3 ), + m=m a t r i x ( 1 : 4, nrow =2)) > l $ l o [ 1 ] TRUE $v [ 1 ] $m [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 Accesso tramite il nome delle componenti: > l $ l o [ 1 ] TRUE > l $v [ 1 ] Tramite la notazione lista$nome è possibile accedere anche ai singoli elementi delle componenti: > l $v [ 4 ] [ 1 ] 4 > l $m[ 1, 1 ] [ 1 ] 1 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
43 Accesso alle componenti di una lista Supponiamo di avere la seguente lista l. Accesso tramite indice numerico: > l < l i s t ( l o=t, + v=c ( 1, 2, 0, 4, 3 ), + m=m a t r i x ( 1 : 4, nrow =2)) > l $ l o [ 1 ] TRUE $v [ 1 ] $m [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 > l [ [ 1 ] ] [ 1 ] TRUE > l [ [ 2 ] ] [ 1 ] > l [ [ 3 ] ] [, 1 ] [, 2 ] [ 1, ] 1 3 [ 2, ] 2 4 l[[1]] è equivalente a l$lo. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
44 Concatenare liste La funzione c() permette di concatenare delle liste. > l 4 [ [ 1 ] ] [ 1 ] Corso > l 1< l i s t ( Corso, a. a / 2017 ) > l 2< l i s t ( P r o f ) > l 3< l i s t ( O r a r i o L e z i o n e ) > l 4< c ( l1, l2, l 3 ) [ [ 2 ] ] [ 1 ] a. a / 2017 [ [ 3 ] ] [ 1 ] P r o f [ [ 4 ] ] [ 1 ] O r a r i o L e z i o n e Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
45 Esercizi 1 Costruire una lista l1 composta da una matrice numerica 4X4, da un vettore di caratteri con 32 elementi, dalla stringa euro, e da una ulteriore lista composta da un vettore di 10 elementi numerici e dal valore logico FALSE. 2 Estrarre dalla lista l2 così costruita list(m=matrix(rnorm(64), nrow=8), s=c(rep( A,3), rep( B,5))) la seconda colonna della matrice; le B del vettore s. Si aggiunga quindi alla lista un vettore composto da 10 numeri casuali. 3 Accedere in 3 modi diversi alla seconda componente della lista l2. 4 Spiegare la differenza fra le due diverse modalità di accesso al primo elemento della lista l2, usando singola [] e doppia [[]]. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
46 Data Frame Un data frame può essere considerato come una matrice le cui colonne rappresentano dati eterogenei. Dati val.num. val.car. val.log. val.num. val.car. Dato1 3.4 AB TRUE 0.1 FG Dato2 5.6 BC FALSE 1.2 GH Dato3 6.7 CD FALSE 2.3 HI Dato4 8.9 DE TRUE 3.4 IL Dato5 9 EF FALSE 4.5 LM Formalmente è una lista di classe data.frame. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
47 Data Frame Le colonne del data frame rappresentano variabili i cui modi ed attributi possono essere differenti. Le matrici (array bidimensionale) e gli array sono invece costituiti da elementi omogenei per modo ed attributo. Dati val.num. val.car. Dato1 3.4 AB Dato2 5.6 BC Dato3 6.7 CD Dato4 8.9 DE Dato5 9 EF Dati val.num. val.num. Dato Dato Dato Dato Dato Un data frame può essere visualizzato come una matrice e si può accedere ai suoi elementi utilizzando indici (come per le matrici). Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
48 Componenti del data frame Formalmente i data frame sono liste di classe data.frame. I componenti (colonne) del data frame possono essere costituiti da: Vettori (numerici, a caratteri, logici) Fattori Matrici numeriche Liste Altri data frame Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
49 Costruzione di data frame I data frame sono costruiti tramite la funzione data.frame(): > v1 < 1 : 3 > v2 < 5 : 7 > v3 < p a s t e ( A, 1 : 3, sep= ) > d f < data. frame ( v1, v2, v3 ) > d f v1 v2 v A A A3 > m < m a t r i x ( 1 : 6, nrow=2) > v1 < c ( A, B ) > df1 < data. frame (m, v1 ) > d f X1 X2 X3 v A B > v2 < c ( A, B, C ) > df < data. frame (m, v2 ) Error in data. frame (m, v2 ) : arguments i m p l y d i f f e r i n g number o f rows : 2, 3 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
50 Accesso alle componenti e agli elementi di un data frame Esistono due modalità di accesso alle componenti ed agli elementi dei data frame: 1 I data frame sono liste, e quindi è possibile accedere ad essi secondo le modalità di accesso tipiche delle liste stesse: accesso tramite indice numerico; accesso tramite il nome delle componenti; accesso tramite indice a caratteri. 2 Come classe data frame, sono definiti operatori di accesso specifici o vettori di indici con una semantica simile a quella delle matrici e degli array. Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
51 Accesso alle componenti di un data frame Supponiamo di avere il seguente data frame df. > d f v1 v2 v A A A3 Accesso tramite indice a caratteri: > d f [ v1 ] v > d f [ [ v1 ] ] [ 1 ] Accesso tramite il nome delle componenti: > df $v1 [ 1 ] Accesso tramite indice numerico: > d f [ [ 1 ] ] [ 1 ] > d f [ 1 ] v Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
52 Accesso alle componenti di un data frame Supponiamo di avere il seguente data frame df. > d f v1 v2 v A A A3 Accesso tramite vettori di indici: > d f [ 1, 2 ] [ 1 ] 5 > d f [ 2, 2 : 3 ] v2 v3 2 6 A2 > d f [ 3, ] v1 v2 v A3 > d f [ 2 : 3, 1 : 2 ] v1 v Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
53 Estrazione logica di osservazioni dal data frame Supponiamo di avere il seguente data frame df. > d f v1 v2 v A A2 Usare l operatore > per estrarre da df solo le osservazioni la cui variabile v1 > 1. > d f [ d f $v1 >1,] v1 v2 v A2 Equivalentemente si può usare la funzione subset(): > subset ( df, v1 >1) v1 v2 v A2 Se si vogliono selezionare elementi da un insieme si può usare l operatore %in%: > s u b s e t ( df, v3 %i n% A2 ) v1 v2 v A2 > s u b s e t ( df, v3%i n%c ( A2, A1 ) ) v1 v2 v A A2 Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
54 Esercizi 1 Costruire un data frame df1 di 4 righe con 5 variabili di cui 3 numeriche e 2 a caratteri. Su questo estrarre: le variabili pari; le variabili dispari; i dati della 2 riga; i dati della 2 e 3 riga; i dati dell ultima riga; i dati delle ultime due colonne. 2 Costruire un data frame df2 che abbia come componenti un vettore numerico casuale v di lunghezza 10, una matrice casuale m con 4 colonne ed una lista l i cui componenti siano 2 matrici a piacere. 3 Costruire una lista l che abbia come componenti 2 vettori v1 e v2 entrambi a caratteri. Trasformare la lista in un data frame df3 tramite la funzione as.data.frame(). Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
55 Documentazione Per ciascuna funzione visionare l help online di R. Vito M.R. Muggeo e Giancarlo Ferrara, Il Linguaggio R: concetti introduttivi ed esempi, II Edizione, 2005, Cap. 2-3, ftp://cran.r-project.org/pub/r/doc/contrib/nozionir.pdf W.N. Venables, D. M. Smith and the R Development Core Team, An introduction to R, 2016, Cap. 2-6, Quick-R, Data Types, Elisabetta Ronchieri Modulo III.1 - Strutture Dati 7 Novembre / 55
Array e matrici. Università degli Studi di Milano. Laurea Specialistica in Genomica Funzionale e Bioinformatica. Giorgio Valentini
Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Array e matrici Giorgio Valentini e mail: valentini@dsi.unimi.it DSI Dipartimento di Scienze dell Informazione
DettagliListe. Università degli Studi di Milano
Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Liste Giorgio Valentini e mail: valentini@dsi.unimi.it
DettagliStrutture dati fondamentali in R: Vettori, matrici ed array, fattori, liste, data frame
Strutture dati fondamentali in R: Vettori, matrici ed array, fattori, liste, data frame Giorgio Valentini e mail: valentini@dsi.unimi.it DSI Dipartimento di Scienze dell Informazione Università degli Studi
DettagliData frame. Università degli Studi di Milano
Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Data frame Giorgio Valentini e mail: valentini@dsi.unimi.it
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliModulo III - Cenni alla programmazione in R
Modulo III - Cenni alla programmazione in R Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management e-mail: elisabetta.ronchieri@unife.it 12 Dicembre 2016 Elisabetta Ronchieri
DettagliInformatica e Statistica 1 INTRODUZIONE R
Docenti: Matteo Re ( INFORMATICA) Alessandro di Domizio (STATISTICA) UNIVERSITÀ DEGLI STUDI DI MILANO C.d.l. Biotecnologia A.A. 2016-2017 semestre II Informatica e Statistica 1 INTRODUZIONE R Modulo: INFORMATICA
DettagliVettori ed assegnamenti in R
Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Vettori ed assegnamenti in R Giorgio Valentini e
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
DettagliFogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliIntroduzione al software R
Introduzione al software R 1 1 Università di Napoli Federico II cristina.tortora@unina.it il software R Si tratta di un software molto flessibile che permette di compiere praticamente qualsiasi tipo di
Dettagli3. Matrici e algebra lineare in MATLAB
3. Matrici e algebra lineare in MATLAB Riferimenti bibliografici Getting Started with MATLAB, Version 7, The MathWorks, www.mathworks.com (Capitolo 2) Mathematics, Version 7, The MathWorks, www.mathworks.com
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliBreve introduzione al linguaggio R
L'ambiente R Studio Breve introduzione al linguaggio R Davide Massidda www.insular.it Università di Cagliari, a.a. 2013/2014 R è una calcolatrice! Inserire commenti L'utente invia un comando in input;
DettagliConversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
DettagliR. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010
1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De
DettagliLaboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
DettagliVariabile, costante ed espressione
Variabile, costante ed espressione All interno di un programma un informazione può essere organizzata in vari modi: Variabile Costante Espressione Le variabili a loro volta possono essere: scalari vettori
DettagliLaboratorio di Statistica e Analisi Dati: Lezione 2
Laboratorio di Statistica e Analisi Dati: Lezione 2 Tommaso C. & Marco G. 2-4 Novembre 2016 Matrici In R è possibile rappresentare estensioni bidimensionali di vettori (matrici) L accesso ad una componente
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliArray di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
DettagliPROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^
PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PER RICONOSCERE, RAPPRESENTARE E RISOLVERE PROBLEMI I. Q. II. Q. CONTENUTI / ATTIVITA 1 bim. 2 bim. 3 bim. 4 bim. 1a) Individuazione di situazioni problematiche
DettagliRappresentazione binaria delle variabili (int e char)
Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati
DettagliSTATISTICA LAB. Analisi dei dati con R - Ex 2. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB
Analisi dei dati con R - Ex 2 Marta Nai Ruscone LIUC - Università Carlo Cattaneo, Castellanza Funzioni Una funzione è un insieme di comandi elementari. In R sono disponibili un gran numero di funzioni
DettagliModulo III - Introduzione ad R
Modulo III - Introduzione ad R Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management e-mail: elisabetta.ronchieri@unife.it 7 Novembre 2016 Elisabetta Ronchieri Modulo III.1 -
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliAltrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliModulo III - Creazione di documenti, presentazioni e report
Modulo III - Creazione di documenti, presentazioni e report Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management e-mail: elisabetta.ronchieri@unife.it 1 Dicembre 2016 Elisabetta
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliFormule e funzioni. Manuale d uso
EXCEL Modulo 2 Formule e funzioni Manuale d uso Formule (1/2) Le formule sono necessarie per eseguire calcoli e utilizzano i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliFondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati
Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliCURRICOLO DI ISTITUTO
ISTITUTO COMPRENSIVO G.PERLSC Ferrara CURRICOLO DI ISTITUTO NUCLEO TEMTICO Il numero CONOSCENZE BILIT S C U O L P R I M R I classe 1^ L alunno conosce: i numeri naturali, nei loro aspetti cardinali e ordinali,
DettagliIn molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
DettagliEssendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) = ["abc", 2, [1,2]] Essendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
DettagliAccess. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliTecniche di conteggio
Tecniche di conteggio 9 Ottobre 2003 Principio della somma Il numero di elementi dell unione di una famiglia di insiemi disgiunti è la somma del numero di elementi contenuti in ogni singolo insieme F =
DettagliOBIETTIVI DI APPRENDIMENTO DI MATEMATICA-SCUOLA SECONDARIA DI PRIMO GRADO
OBIETTIVI DI APPRENDIMENTO DI MATEMATICA-SCUOLA SECONDARIA DI PRIMO GRADO OBIETTIVI DELLE INDICAZIONI PER IL CURRICOLO OBIETTIVI DI APPRENDIMENTO ANNUALI Classe prima- secondaria Classe seconda secondaria
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Excel Michele Tomaiuolo Excel Excel è sicuramente il programma più
DettagliArray. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliLaboratorio 02. Programmazione - CdS Matematica. Mirko Polato 3 Novembre 2015
Laboratorio 02 Programmazione - CdS Matematica Mirko Polato 3 Novembre 2015 Contenitori Spesso è necessario utilizzare contenitori di oggetti. 2 of 26 Contenitori Spesso è necessario utilizzare contenitori
DettagliMATLAB parte II. Array
MATLAB parte II MATLAB parte II C. Guerrini 1 Array Tutte le variabili sono array (matrici) Un array è una struttura dati, cioè memorizza più dati all interno di una struttura identificata da un singolo
DettagliI.4 Rappresentazione dell informazione - Numeri con segno
I.4 Rappresentazione dell informazione - Numeri con segno Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 20, 2015 Argomenti Introduzione 1 Introduzione
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliScilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Università di Camerino Corso di Laurea in Informatica (12 CFU) I periodo didattico Emanuela Merelli email:emanuela.merelli@unicam.it Argomenti della lezione Elementi di un linguaggio
Dettagli- Spiega il procedimento seguito, anche in forma scritta, mantenendo il controllo sia sul processo risolutivo, sia sui risultati.
SCUOLA SECONDARIA TRAGUARDI DI SVILUPPO DELLE COMPETENZE MATEMATICA - L alunno si muove con sicurezza nel calcolo anche con i numeri razionali, ne padroneggia le diverse rappresentazioni e stima la grandezza
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliArray k-dimensionali
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Array k-dimensionali In C è possibile definire array con più dimensioni (ANSI C massimo k=12), per
DettagliProgrammazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
DettagliUnità Aritmetico-Logica
Unità Aritmetico-Logica A ritmethic L ogic U nit E l unità che esegue le operazioni aritmetiche e le operazioni logiche AND e OR 1-bit ALU : è una componente dell ALU che produce un singolo bit sui 32
DettagliPON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania
PON 2007 2013 Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire. Matlab - 2: Lavorare con le matrici Vallo della Lucania 26 Settembre 2008
DettagliLEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio
LEZIONE PRECEDENTE Introduzione a Sprite; Operatori e funzioni; Come usare i blocchi Movimenti per far muovere uno Sprite; Come usare i blocchi Penna per disegnare sullo stage; Esercizi 1 TO DO: Completa
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliGli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
Dettagli1.2f: Operazioni Binarie
1.2f: Operazioni Binarie 2 18 ott 2011 Bibliografia Questi lucidi 3 18 ott 2011 Operazioni binarie Per effettuare operazioni è necessario conoscere la definizione del comportamento per ogni coppia di simboli
DettagliLaboratorio di Python
Laboratorio di Python Code Lab13 28 Aprile 2017 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che determina se uno studente può
DettagliRappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto
Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliLa Rappresentazione dell Informazione
La Rappresentazione dell Informazione Maurizio Palesi Sommario In questo documento sarà trattato il modo in cui, in un calcolatore, vengono rappresentati i vari generi di informazione (testi, numeri interi,
DettagliNumeri interi relativi
Numeri interi relativi 2 2.1 I numeri che precedono lo zero Con i numeri naturali non sempre è possibile eseguire l operazione di sottrazione. In particolare, non è possibile sottrarre un numero più grande
DettagliAnno 1. Teoria degli insiemi: definizioni principali
Anno 1 Teoria degli insiemi: definizioni principali 1 Introduzione In questa lezione introdurremo gli elementi base della teoria degli insiemi. I matematici hanno costruito una vera e propria Teoria degli
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliCONVERSIONE BINARIO DECIMALE NB: Convertire in decimale il numero binario N = N =
NOTAZIONE BINARIA, OTTALE, ESADECIMALE CODIFICA DI NUMERI INTERI RELATIVI 1 CONVERSIONE BINARIO DECIMALE Convertire in decimale il numero binario N = 101011.1011 2 N = 1 2 5 + 0 2 4 + 1 2 3 + 0 2 2 + 1
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliISTITUTO SCOLASTICO COMPRENSIVO MINEO UNITA 1 I NUMERI
ISTITUTO SCOLASTICO COMPRENSIVO MINEO CURRICOLO DI MATEMATICA SCUOLA PRIMARIA classe PRIMA A-B-C INDICATORI OBIETTIVI U.D D'APPRENDIMENTO NUMERI 1) Acquisire il concetto di numero (almeno entro il 100)
DettagliMATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
DettagliMODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ
PATENTE EUROPEA DEL COMPUTER 5.0 MODULO 5 Database (Microsoft Access 2007) Parte 3 A cura di Mimmo Corrado Gennaio 2012 MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ Il Modulo 5, richiede che il candidato
DettagliArithmetic and Logic Unit e moltiplicatore
Arithmetic and Logic Unit e moltiplicatore M. Favalli Engineering Department in Ferrara (ENDIF) ALU - multiplier Analisiesintesideicircuitidigitali 1 / 34 Sommario 1 Arithmetic and Logic Unit - ALU 2 Moltiplicatore
DettagliMATRICI E SISTEMI LINEARI
1 Rappresentazione di dati strutturati MATRICI E SISTEMI LINEARI Gli elementi di una matrice, detti coefficienti, possono essere qualsiasi e non devono necessariamente essere omogenei tra loro; di solito
DettagliLaboratorio di Statistica e Analisi Dati: Lezione 3
Laboratorio di Statistica e Analisi Dati: Lezione 3 Tommaso C. & Marco G. 9-11 Novembre 2016 Recap sugli esercizi 3.3 Determinare (non a mano) il numero di studenti nelle tre fasce di voto:
DettagliLena Cota Guido Corso di Informatica - II livello. Excel 2003 Formule. Imparare a usare le formule con la pratica
Excel 2003 Formule Imparare a usare le formule con la pratica 1 Cosa sono Uno degli obiettivi principali dei fogli di calcolo è fornire il risultato di operazioni matematiche, dalla semplice somma alle
Dettagli1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
DettagliScilab. Matrici Bidimensionali. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Matrici Bidimensionali Claudia d'amato claudia.damato@di.uniba.it Matrici Uno dei tipi di base di Scilab è costituito dalla matrice Uno dei modi più semplici per
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da
DettagliARRAY E TYPEDEF. A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C
A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C Es typedef ; typedef char stringa[10]; dichiara che il tipo stringa è un array
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIntroduzione a R. Silvia Parolo. 14 November 2014
Introduzione a R Silvia Parolo 14 November 2014 Cos è R?? è un tool per l analisi di dati è anche un linguaggio di programmazione si può scaricare da http: // www. r-project. org/ primi passi in R R può
DettagliRappresentazione dei numeri interi in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica
DettagliMICROSOFT EXCEL FORMULE E FUNZIONI
MICROSOFT EXCEL FORMULE E FUNZIONI Lezione 1.2 a.a. 2016-2017 Ing. Giulia Fiscon Sommario Introduzione Microsoft Excel Lavorare con i fogli di calcolo Riferimenti di cella Formule e Funzioni Funzioni logiche
DettagliInteri positivi e negativi
Definizioni: numerali e numeri Un numerale è solo una stringa di cifre Un numerale rappresenta un numero solo se si specifica un sistema di numerazione Lo stesso numerale rappresenta diversi numeri in
DettagliLinguaggio SQL seconda parte
Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle
Dettaglistringa $valore = "cavallo"; $valore = 'struzzo'; $valore = 'x'; // il tipo carattere è un caso particolare di stringa
Università degli Studi di Milano Dipartimento di Informatica e Comunicazione Corso di Laurea in Scienze e Tecnologie della Comunicazione Musicale Informatica Generale - Prof. Luca A. Ludovico PHP Lezione
DettagliLEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015
1 LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI A. A. 2014/2015 PRIMI PASSI La più semplice sequenza di istruzioni che possiamo scrivere è quella costituita da un solo comando. come si fa a
DettagliCORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo
CORSO DI INFORMATICA GENERALE Università degli Studi di Bergamo Microsoft Excel E un software applicativo per la gestione dei fogli di calcolo. E un programma che consente la gestione e l organizzazione
DettagliNUMERI SCUOLA SECONDARIA I GRADO
NUMERI Eseguire addizioni, sottrazioni, moltiplicazioni, divisioni e confronti tra i numeri conosciuti (numeri naturali, numeri interi, frazioni e numeri decimali), quando possibile a mente oppure utilizzando
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
Dettagli