Linguaggio R e applicazioni statistiche

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggio R e applicazioni statistiche"

Transcript

1 Università degli Studi di Torino Ennio Davide Isaia Linguaggio R e applicazioni statistiche a.a Dipartimento di Statistica e Matematica Applicata Diego de Castro

2 È senza dubbio inevitabile che questi appunti presentino errori materiali; Sarò grato a tutti coloro, e specialmente agli Studenti, che vorranno segnalarci qualunque problema, dai più banali errori tipografici alle oscurità nell esposizione. Avvertenza Tutti i diritti di questa pubblicazione sono degli autori. Viene consentita la riproduzione integrale di questa pubblicazione a titolo gratuito. Altresì è permessa, sempre a titolo gratuito, l utilizzazione di parti di questa pubblicazione in altra opera all inderogabile condizione che ne venga citata la provenienza e che della nuova opera nella sua interezza vengano consentite la riproduzione integrale a titolo gratuito e l utilizzazione di parti a queste stesse condizioni. L uso di questa pubblicazione in qualsiasi forma comporta l accettazione integrale e senza riserve di quanto sopra. Dipartimento di Statistica e Matematica Applicata Diego de Castro Corso Unione Sovietica, 218/bis 10134, Torino (Italy) c

3 Capitolo 1 Introduzione ad R R, parente di S-Plus ed erede di S, è un ambiente integrato che consente di elaborare dati, eseguire calcoli e creare rappresentazioni grafiche; dotato di un linguaggio di programmazione ad alto livello, con esso è possibile eseguire operazioni assai complesse con poche linee di comandi e, pertanto, si dimostra uno strumento estremamente potente che permette di analizzare e risolvere problemi specifici attinenti a diversi settori scientifici. Le sue caratteristiche peculiari, ai fini statistici, sono rappresentate dalla possibilità di elaborazione di grandi quantità di dati, la vasta disponibilità di operatori per il calcolo matriciale e vettoriale nonché l enorme disponibilità di librerie ( package ) matematiche, statistiche e grafiche. R, inoltre, è un software completamente gratuito e continuamente aggiornato, disponibile per piattaforme Unix (FreeBSD, NetBSD, Linux, Irix, Solaris, OSF/1, AIX, HPUX), Windows 9x/NT nonché MacOS. La URL ufficiale per il progetto R è: dove è possibile prelevare l ultima versione di R, un manuale ufficiale di riferimento a cura del R Core Team (2000) nonché una vasta gamma di packages aggiuntivi; un interessante lista di Frequently Asked Questions, The R FAQ a cura di Kurt Hornik, è reperibile all indirizzo Una volta acquisito il programma e prescindendo dall installazione/compilazione a seconda della piattaforma di destinazione, l applicativo ed altri file, tra cui.renviron saranno raccolti in un unica directory, ad esempio <drive>\...\r Home Directory, la quale, a sua volta, conterrà altre directory, tra le quali: \library: contenente le librerie ( package ) di base nonché quelle di interesse per l utente, ad esempio: \library\base

4 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 \library\ctest... \library\modreg nelle quali sono posti i file, in formato ACII, CONTENTS, DESCRIPTION, INDEX e TITLE; inoltre, ciascuna di esse ha una struttura comune, articolata in altre directory tra cui citiamo: \R: contenente il file sorgente, in formato ACII, delle funzioni definite per il package stesso; \data: contenente alcuni archivi di dati a cui viene spesso fatto riferimento nelle finestre di help di R stesso. \help: contenente, in formato compresso (.zip,.tar,...) i file di help in linea; \html, \latex: ove sono posti i file di help in formato html e L A TEX. \doc: contenente, organizzati in corrispondenti sotto-directory, alcuni documenti di aiuto. A tal proposito è bene tenere a mente che essenziale ai fini di un corretto funzionamento dell applicativo è la presenza del package base, contenente in \library\base\r il file di definizione dei principali comandi (base), nonché il file Rprofile di definizione dell ambiente di lavoro. 1.1 L ambiente di lavoro Una volta lanciato il programma compare la finestra R GUI 1, dove potranno essere impartiti i comandi e saranno visualizzati i risultati delle elaborazioni o gli eventuali messaggi di errore; tale finestra dispone di menu (File, Edit, Misc, Windows, Help) autoesplicativi. Nel seguito lavoreremo unicamente attreverso la finestra R GUI, cioè impartiremo, dopo il classico prompt >, i comandi in sequenza oppure li sottoporremo in modalità batch. All avvio R GUI mostra alcune informazioni, quali la versione di R che si sta usando ed alcuni comandi chiave per iniziare o chiudere una sessione di lavoro. Un comando, a cui ci abitueremo, è help(argomento); ad esempio help() chiede ad R di aprire una nuova finestra che contiene una breve guida in linea dal titolo 1 Sotto Unix compare la finestra R Console, il cui aspetto è piuttosto spartanto. Sotto MacOS e Linux-ppc comapre la fienstra R Console, delt tutto analoga alla finestra R GUI che caratterizza i sistemi Windows9x/NT e Linux. 2

5 E. D. Isaia, Linguaggio R e applicazioni statistiche R Information. Tale finestra offre una descrizione dettagliata del comando e, più importante, riporta in fondo una serie di esempi che, mediante copia e incolla, possono essere inseriti sulla Console. Un secondo comando utile per avvicinarsi ad R è demo(), il quale, a seconda della versione installata, potrebbe porgere: > demo() Use demo(topic) where choices for argument topic are: topics [1,] "graphics" [2,] "image" [3,] "lm.glm" [4,] "glm.vr" [5,] "nlm" [6,] "recursion" [7,] "scoping" [8,] "is.things" [9,] "dyn.load" In sostanza R suggerisce di utilizzare il comando nella forma demo(topics), dove topic è uno degli argomenti proposti; ad esempio demo(graphics). Una terza finestra disponibile è la Graphics Window ove verranno visualizzati, appunto, i grafici via via richiesti. Questa abitualmente non viene aperta all avvio di R, ma viene attivata allorché si impartisce un comando che prevede un output grafico. L utente può in ogni caso forzare la sua attivazione con il comando X11(), windows() o macintosh() a seconda della piattaforma Unix, Windows9x/NT o MacOS rispettivamente. È bene tenere a mente che per default l area di lavoro corrisponde alla directory \R Home Directory; tale situazione può essere modificata in qualsiasi istante ricorendo al comando setwd(<directory>). Così, ad esempio, immaginando un installazione su piattaforma Windows, potremmo avere: > getwd() [1] "C:\Programs\R" > setwd("c:\progetti") NULL > getwd() [1] "C:\Progetti" > setwd(r.home()) NULL > getwd() 3

6 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 [1] "C:\Programs\R" Al momento di abbandonare R, ci viene richiesto se desideriamo registrare quanto svolto nella corrente sessione di lavoro: > q() Save workspace image? [y/n/c]: In caso affermativo, l intero workspace verrà registrato, per default, sul file Rdata; in tal modo sarà possibile ritornare al punto semplicemente lancianto R tramite Rdata. 1.2 Primi passi in R Le entità con cui lavora R vengono dette oggetti; questi vengono identificati tramite un nome, a discrezione dell utente, che deve iniziare con un carattere alfabetico e non può contenere spazi bianchi nè i #, $, _, mentre è ammesso l uso del punto (.) quale separatore tra i caratteri. Se gli elementi di un oggetto presentano tutti la stessa modalità, numerica, alfanumerica, logica oppure complessa, l oggetto stesso viene detto elementare. Tali oggetti, a loro volta, possono essere dotati di una struttura di matrice, e ciò nel senso algebrico del termine, oppure possono concorrere a creare quelli che nel seguito chiameremo oggetti complessi. Ciò premesso, dedichiamo i paragrafi che seguono alla descrizione di come definire e manipolare oggetti con struttura elementare, di matrice o complessa ed eseguire su di essi alcune semplici operazioni, ricorrendo a funzioni predefinite ovvero creadone altre ad hoc Creazione di oggetti elementari La creazione di un qualsiasi oggetto avviene ricorrendo al comando di assegnazione <- e non, come è norma abituale con altri linguaggi di programmazione, tramite il simbolo =, a cui segue, in linea di massima, entro parentesi tonde precedute dal prefisso c, acronimo di combine, l elenco dei suoi elementi, ciasuno dei quali separato da una virgola. Qualora l oggetto possedesse modalità alfanumerica, il suoi elementi debbono essere racchiusi entro virgolette ("). Ciò premesso, la visualizzazione degli elementi di un oggetto può avvenire digitandone il nome oppure, in fase di definizione, racchiudendone l istruzione entro parentesi tonde. Esempio Ci proponiamo di creare tre oggetti elementari e di visualizzarne il contenuto; più precisamente: 4

7 E. D. Isaia, Linguaggio R e applicazioni statistiche x contenente il solo elemento numerico 17: > x<-c(17) > x [1] 17 y i cui elementi corrispondono agli interi 10, 13, 17, 20: > (y<-c(10,13,17,20)) [1] alpha che conterrà tre caratteri alfanumerici > (alpha<-c("valor medio","mediana","varianza")) [1] "Valor medio" "Mediana" "Varianza" A questo punto, possiamo introdurre le seguenti istruzioni di utilità assai generale: ls(): visualizza l elenco degli oggetti definiti in una sessione di lavoro 2. ls.str(): porge un breve resoconto circa la struttura degli oggetti definiti nella corrente sessione di lavoro. Informazioni dettagliate circa uno specifico oggetto, si ottengono con il comando str(oggetto); mode(oggetto): indicato; restituisce, sottoforma di stringa, la modalità dell oggetto rm(oggetto1,...,oggetton): consente la rimozione degli oggetti specificati. Desiderando rimuovere tutti gli oggetti definiti nel corso di una sessione di lavoro si può ricorrere all istruzione rm(list=ls()). La rimozione del solo contenuto di un oggetto avviene tramite l assegnazione oggetto<-null Esempio Con riferimento ai tre oggetti introdotti all Esempio 1.2.1, si osservi il comportamento, autoesplicativo, delle istruzioni: > ls.str() alpha : chr [1:3] "Valor medio" "Mediana" "Varianza" x : num 17 y : num [1:4] > mode(alpha) [1] "character" > (y<-null) 2 In alternativa si può ricorrere al comando objects(). 5

8 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 NULL > ls() [1] "alpha" "x" "y" > rm(x) > ls() [1] "alpha" "y" > rm(y,alpha) > ls() character(0) Può a volte capitare di volere elencare (o rimuovere) solo alcuni degli oggetti definiti durante una sessione di lavoro; ciò avviene ricorrendo all opzione pattern=, propria dei comandi ls(), rm() e ls.str(). A tal riguardo, si osservi il comportamento delle istruzioni: > C02<-c(0.011,0.012,0.013,0.012) > fattorea<-c(1,2,1,2) > fattoreb<-c(1,2,1,2) > ls() [1] "C02" "fattorea" "fattoreb" > ls.str(pattern="fat") fattorea : num [1:4] fattoreb : num [1:4] > rm(list=ls(pattern="fat")) > ls() [1] "C02" L opzione pattern=, come la maggior parte delle opzioni R, può essere abbreviata, qualora non sussistano ambiguità, ai primi tre caratteri; nel seguito tuttavia, per motivi di chiarezza espositiva, ricorreremo sempre alla forma estesa Creazione di oggetti contenenti sequenze regolari La creazione di oggetti contenenti sequenze regolari di elementi numerici o alfanumerici può avvenire ricorrendo ai comandi: c(n1:n2): crea una sequenza di interi consecutivi da n1 a n2, in ordine crescente se n1 < n2, in ordine decrescente altrimenti; seq(n1,n2,by=passo): crea una sequenza di numeri consecutivi da n1 a n2 con incrementi pari a quanto specificato in passo, in ordine crescente se n1 < n2, in 6

9 E. D. Isaia, Linguaggio R e applicazioni statistiche ordine decrescente altrimenti. Qualora l opzione by=passo fosse omessa e n1 e n2 fossero interi, l istruzione verrebbe ad essere equivalente a c(n1:n2). Un alternativa a by= è rappresentata dall opzione length=, con la quale si stabilisce appunto la lunghezza della sequenza o, meglio, il numero dei suoi elementi; rep(k:n): crea un oggetto contenente i valori, numerici o alfanumerici, specificati in k ripetuti n volte; letters[k:n] o LETTERS[k:n]: creano una sequenza di lettere, minuscole e maiuscole rispettivamente, dell alfabeto latino comprese tra k ed n. Altri comandi specifici, quali gl(), expand.grid(), ppoints() e sequence(), verranno presentati al paragrafo Esempio Creazione e visualizzazione dell oggetto x che conterrà i primi dieci interi positivi: > (x<-c(1:10)) [1] Si noti che saremmo giunti allo stesso risultato ricorrendo all istruzione seq(): > (x<-seq(1,10)) [1] Esempio Creazione e visualizzazione dell oggetto x che conterrà 11 numeri progressivi da 20 a 21 con passo 0.10: > (x<-seq(20,21,by=0.10)) [1] Allo stesso risultato saremmo pervenuti con il comando: > (x<-seq(20,21,length=11)) [1] Esempio Creazione dell oggetto x che conterrà, nell ordine, 3 elementi a valore nullo e 4 elementi a valore unitario. > (x<-c(rep(0,3),rep(1,4))) [1]

10 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 Esempio Visualizzazione delle stringhe "Conforme" e "Difettoso" ripetute la prima tre volte e la seconda una sola volta: > c(rep("conforme",3),rep("difettoso",1)) [1] "Conforme" "Conforme" "Conforme" "Difettoso" Esempio Creazione e visualizzazione dell oggetto alfabeto che conterrà le prime sette lettere, in minuscolo, dell alfabeto (latino): > (alfabeto<-letters[1:7]) [1] "a" "b" "c" "d" "e" "f" "g" Si osservi il comportamento delle istruzioni: > LETTERS[1:7] [1] "A" "B" "C" "D" "E" "F" "G" > paste(letters[1:3],sep="",collapse="+") [1] "a+b+c" > paste("fattore",letters[1:3],sep="",collapse="+") [1] "Fattorea+Fattoreb+Fattorec" Manipolazione di oggetti elementari In R esistono svariati comandi che consentono la manipolazione di oggetti, numerici o alfanumerici; tra essi val qui la pena citare i seguenti di utilità generale: append(x,y): aggiunge agli elementi dell oggeto x gli elementi di y; c(x,y): crea un nuovo oggetto a partire da due oggetti x e y; paste(x,y): crea un un nuovo oggetto contenente, sottoforma alfanumerica, gli elementi appaiati degli oggetti x e y; l opzione sep="simbolo" consente di separare i diversi elementi con il simbolo desiderato, mentre l opzione collapse="simbolo" permette di separare i singoli risultati con il simbolo prescelto; rev(x): posiziona in senso inverso gli elementi di x; sort(x): ordina in senso crescente gli elementi di x; altrimenti; 8

11 E. D. Isaia, Linguaggio R e applicazioni statistiche unique(x): restituisce gli elementi non ripetuti contenuti in x. x[posizione1,..,posizionen]: estrae dall oggeto x gli elementi che occupano la posizione specificata in posizione1,..,posizionen; Altri comandi verranno presentati al paragrafo Esempio Ordinamento in senso crescente degli elementi di x<-c(10:1): > sort(x) [1] o, equivalentemente: > rev(x) [1] A proposito di rev(), si noti che: > rev(c(10,11,9)) [1] e ciò coerentemente con quanto detto a proposito. Esempio Creazione di un nuovo oggetto a partire da due oggetti definiti: > x<-c(1:5) > y<-rev(x) > (z<-c(x,y)) [1] Esempio Creazione, a partire da due oggetti, di un nuovo oggetto che contiene, sottoforma alfanumerica, gli elementi appaiati degli oggetti iniziali. > x<-c(1:5) > y<-c(-5:-1) > paste(x,y) [1] "1-5" "2-4" "3-3" "4-2" "5-1" Si ossservi che, coerentemente: > paste(x) [1] "1" "2" "3" "4" "5" Si noti, ancora, il comportamento dei seguenti comandi: 9

12 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 > paste(y,x,sep="*") [1] "-5*1" "-4*2" "-3*3" "-2*4" "-1*5" > paste(y,x,sep="*",collapse="<->") [1] "-5*1<->-4*2<->-3*3<->-2*4<->-1*5" Esempio Estrazione dall oggetto x, che contiene gli interi consecutivi da 1 a 20, degli elementi che occupano la terza e la dodicesima posizione. > x<-c(1:20) > x[3] [1] 3 > x[12] [1] 12 Esempio Creazione, a partire dall oggetto x, che contiene gli interi consecutivi da 10 a 20, dell oggetto y che conterrà i tre elementi che occupano la prima, la terza e la sesta posizione in x. > (x<-c(10:20)) [1] > (y<-x[c(1,3,6)] ) [1] Esempio Creazione dell oggetto z che conterrà, nell ordine, i primi tre elementi di x, i due elementi di y quindi i restanti elementi di x. > (x<-c(10:17)) [1] > (y<-c(300,400)) [1] > (z<-append(x, y, after=3)) [1] Esempio Eliminazione ed ordinamento crescente degli elementi ripetuti di un oggetto. > (x<-c(c(5:8),c(1:7))) [1] > sort(unique(x)) [1]

13 E. D. Isaia, Linguaggio R e applicazioni statistiche Esempio Creazione, a partire dall oggetto x che contiene 3 elementi a valore nullo e 4 elementi a valore unitario, dell oggetto sesso che conterrà l etichetta Femmina se x=0 oppure Maschio se x=1. > (x<-c(rep(0,3),rep(1,4))) [1] > (sex<-c(rep("femmina",3),rep("maschio",4))) [1] "Femmina" "Femmina" "Femmina" "Maschio" "Maschio" "Maschio" "Maschio" Un alternativa è offerta dal ricorso al comando names(); ad esempio: > (x<-c(rep(0,3),rep(1,4))) [1] > (names(x)<-c(rep("femmina",3),rep("maschio",4))) [1] "Femmina" "Femmina" "Femmina" "Maschio" "Maschio" "Maschio" "Maschio" Per maggiori dettagli sul comando names(), cfr. paragrafo Operatori aritmetici e funzioni matematiche Sugli oggetti elementari con modalità numerica è possible eseguire le più comuni operazioni aritmetiche, quali la somma (+), il prodotto (*), la divisione (/), l elevamento a potenza (^), proprie di un qualsiasi linguaggio di programmazione. Esempio Dati i due oggetti x e y ad elemeti numerici: > x<-seq(1:5) > y<-x^2 le istruzioni che seguono si commentano da sè: > x-(1/y) [1] > 100*(x+y)^(-1) [1] > y^(.5)+x [1] Vale qui la pena accennare alla presenza di due particolari operatori, %% e %/%, il cui impiego, a volte utile, è illustrato dagli esempi che seguono. Esempio Posto che l oggetto x contenga gli interi consecutivi da 1 a 10, ci proponiamo di: 11

14 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 individuare quali di essi è divisibile per 2. A tal fine possiamo considerare il comando x%%2 che porge il resto della divisione di ciascun elemento di x per 2: > x<-c(1:10) > x%%2 [1] calcolare la parte intera della divisione tra ciascun elemento di x e 2. A tal fine sopperisce il comando x%/%2, infatti: > x<-c(1:10) > x%/%2 [1] Quanto alle funzioni matematiche, tra le quali figurano exp(), log(), log10(), log2(),..., sin(), cos(), tan(), asin(), acos(), atan(), sqrt(), abs()..., è impensabile offrirne qui un elenco seppur parziale; alcune di esse, di interesse sotto il profilo statistico, sono presentate al paragrafo che segue, mentre altre ancora saranno introdotte più oltre allorché verranno affrontati problemi specifici. Accenniamo, infine, alla presenza di particolari funzioni che cosentono di eseguire le più comuni operazioni su insiemi: union(x,y): restituisce l insieme costituito dall unione degli insiemi x e y; intersect(x,y): restituisce l insieme costituito dall intersezione degli insiemi x e y; setdiff(x,y): rstituisce l insieme costituito dalla differenza tra insiemi x e y; setequal(x,y): restituisce il valore logico TRUE se gli insiemi contengono gli stessi elementi, il valore logico FALSE altrimenti; is.element(el,set): restituisce il valore logico TRUE se l elemento in el è contenuto in set, il valore logico FALSE altrimenti. Un alias del comando è %in%. Esempio Definiti gli oggetti A<-letters[1:4] e B<-letters[3:7], abbiamo: > union(a,b) [1] "a" "b" "c" "d" "e" "f" "g" > intersect(a,b) [1] "c" "d" > setdiff(a,b) [1] "a" "b" > setdiff(b,a) 12

15 E. D. Isaia, Linguaggio R e applicazioni statistiche [1] "e" "f" "g" > is.element(a,setdiff(a,b)) [1] TRUE TRUE FALSE FALSE > "f"%in%union(a,b) [1] TRUE > is.element("q",setdiff(letters[1:24],union(a,b))) [1] TRUE Si noti che tali operatori in ogni caso rimuovono gli elementi duplicati di un insieme Su alcune funzioni statistiche Tra le innumerevoli funzioni statistiche implementate, per il momento ci limitiamo a citare le più comuni e precisamente, posto x un oggetto elementare con modalità numerica: cumsum(x): restituisce la somma cumulata degli elementi di x; length(x): restituisce il numero degli elementi 3 contneuti in x; max(x), min(oggetto): porgono, rispettivamente, il massimo ed il minimo dei valori contenuti in x; mean(x): calcola la media aritmetica dei valori contenuti in x; median(x): calcola la mediana dei valori contenuti in x; prod(x): restituisce il prodotto degli elementi di x; quantile(x,alpha): porge il quantile di ordine alpha degli elementi di x; sum(x): restituisce la somma degli elementi di x; summary(x): visualizza 4 il minimo, il primo quartile, la media aritmetica, la mediana, il terzo quartile ed il massimo degli elementi di x; table(x): porge la distribuzione di frequenze assolute generata dalle osservazioni individuali registrate in x; var(x) e sd(x): calcolano, rispettivamente, la varianza e lo scarto quadratico medio dei valori contenuti in x. È bene ricordare, sin da ora, che la varianza, e di conseguenza lo scarto quadratico medio, è calcolata come: 1 n 1 n (x i µ x ) 2 i=1 3 A bene vedere trattasi di una funzione primitiva di impiego assai generale. 4 Tale è il suo comportamento se applicata ad un oggetto numerico elemementare. 13

16 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 quindi con un numero di gradi di libertà pari a length(x)-1. Tale grandezza viene abitualmente detta varianza campionaria. weighted.mean(xi,ni): calcola la media aritmetica dei valori contenuti in xi con pesi ni. Esempio Si immagini che la rilevazione il voto conseguito all esame di Statistica, espresso in trentesimi, conseguito da un gruppo di 20 studenti abbia fornito i risultati: Definito l oggetto elementare voti.stat: > voti.stat<-c(18,23,30,25,27,27,30,20,20,25,27,25,27,23,30,25,23,20,25,23) facilmente possiamo ottenere: la distribuzione dei voti in termini di frequenze assolute: > table(voti.stat) voti.stat nonché relative: > table(voti.stat)/length(voti.stat) voti.stat Si osservi che, dal momento che table(voti.stat) restituisce un oggetto numerico, la media dei voti potrebbe essere calcolata ricorrendo all istruzione: > weighted.mean(sort(unique(voti.stat)),table(voti.stat)/20) [1] alcune misure di tendenza centrale: % > summary(voti.stat) % Min. 1st Qu. Median Mean 3rd Qu. Max. % Visto che summary(voti.stat) restituisce un oggetto composto da sei elementi, possiamo ottenere la differenza interquartilica come: 14

17 E. D. Isaia, Linguaggio R e applicazioni statistiche > summary(voti.stat)[5]-summary(voti.stat)[2]+. la varianza campionaria nonché la devianza: > var(voti.stat) [1] > var(voti.stat)*(length(voti.stat)-1) [1] Alcune funzioni di utilità generale Dedichiamo questo paragrafo alla presentazione di alcune funzioni, oltre a quelle già citate, a cui spesso può essere fatto ricorso durante una sessione di lavoro. abbreviate(oggetto, mln=, dot=false): abbrevia gli elementi dell oggetto specificato al una lunghezza minima pari a mln=. Ponendo dot=true viene visualizzato il suffisso.. Ad esempio: > x<-c("ennio","davide","isaia") > abbreviate(x[1:2], minl=1) Ennio Davide "E" "D" > abbreviate(x[1:2], minl=1,dot=true) Ennio Davide "E." "D." all(oggetto) consente di confrontare tutti gli elementi di un oggetto rispetto ad una condizione. Ad esempio: > x<-c(-2.2,-1.8,-1.5,-1.4,-1.2,-1.0,-0.9,-0.8,-0.7,0.2) > all(x>0) [1] FALSE Il suo complemento è la funzione any(oggetto). > x<-c(-2.2,-1.8,-1.5,-1.4,-1.2,-1.0,-0.9,-0.8,-0.7,0.2) > any(x>0) [1] TRUE 15

18 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 all.names(expression) e all.vars(expression) porgono, rispettivamente, gli elementi e le variabili che compaiono nell espressione indicata e definita via expression() o quote(). append(oggetto, valori, after=posizione): aggiunge gli elementi contenuti in valori all oggetto specificato, eventualmente nella posizione desiderata. Ad esempio: > x<-integer(0) > (x<-append(x,1:10)) [1] > (x<-append(x,120,after=2)) [1] Si osservi che la situazione di default prevede after=length(x). Tale comando può tornare utile qualora si desideri inserire in un oggetto gli elementi via, via generati da specifiche funzioni. attr(oggetto,attributo): attribuisce all oggetto indicato un particolare attributo. Ad esempio: > x<-c(1:10) > attr(x,"dim")<-c(2, 5) > x [,1] [,2] [,3] [,4] [,5] [1,] [2,] > attr(x,"dim")<-null > x [1] cat(): acronimo di concatenate & print trasforma gli elementi indicati quale argomento in strighe alfanumeriche e li visualizza. Il suffisso "\n" consente al cursore di ritornare in modalità prompt (>). Ad esempio: > x<-c(1,2,3) > a<-c("degli elementi di x") > cat("la media ",a," e :",sum(x)/length(x),"\n") La media degli elementi di x e : 2 > 16

19 E. D. Isaia, Linguaggio R e applicazioni statistiche date(): restituisce, sottoforma alfanumerica, la data di sistema. > date() [1] "Tue Aug 28 05:16: " deparse(oggetto): trasforma la definizione dell oggetto specificiato in una stringa. Così, ad esempio: > a<-letters[1:3] > deparse(a) [1] "c(\"a\", \"b\", \"c\")" diff(oggetto,lag=): calcola le differenze tra i diversi elementi di un oggetto. Ad esempio: > diff(c(10,23,21,30),1) [1] duplicated(oggetto): indica, in forma logica, quali elementi dell oggetto specificato quale argomento sono ripetuti. Ad esempio: > x<-c(1:4) > y<-c(2:6) > duplicated(c(paste(x),paste(rev(y)))) [1] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE eval(funzione): calcola il valore la funzione specificata in corrispondenza a determinati valori di interesse. Quali esempi, valgano le seguenti istruzioni: > eval(3 ^ 2 ^ 3) [1] 6561 > eval(sin(.25*pi)+cos(.25*pi)) [1] > sin(.25*x)+cos(2*.25*x) Error: Object "x" not found > x<-pi/2 > sin(.25*x)+cos(2*.25*x) [1]

20 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 Si vedano anche i comportamenti delle funzioni expression() e quote(). expand.grid(x,y,z,...): crea un data frame (cfr. paragrafo 1.4.2) contenente tutte le combinazioni degli elementi dei vettori (o fattori) x, y, z,... specificati. Ad esempio: > expand.grid(temperatura=seq(100,120,10),pressione=seq(1,2,1)) temperatura pressione expression(funzione): restituisce l espressione di una funzione senza provvedere al calcolo automatico. Si ossservi il comportamento delle istruzioni: > (fx<-expression(x^2+2*x)) expression(x^2 + 2 * x) > eval(fx) Error in eval(expr, envir, enclos) : Object "x" not found > x<-seq(-1,1) > eval(fx) [1] > all.names(expression(sin(x+y))) [1] "sin" "+" "x" "y" > all.vars(expression(sin(x+y))) [1] "x" "y" Si veda anche il comportamento della funzione quote(). factor(oggetto,levels=(n1,...,nn)): definisce in modo diretto l oggetto specificato quale fattore a n livelli. Un alternativa è il ricorso a as.factor(oggetto). Sono, pertanto, comandi validi: > (temperatura<-factor(c(1,1,1,2,2,2),levels=c(1:2))) [1] Levels: 1 2 > trattamento<-c("a","b","b","a","b","a","c","c","c") 18

21 E. D. Isaia, Linguaggio R e applicazioni statistiche > (trattamento<-as.factor(trattamento)) [1] A B B A B A C C C Levels: A B C format(oggetto,...): attribuisce all oggetto specificato un formato per una migliore visualizzazione dei suoi elementi. Per default il comando prevede l allineamento a destra, justify="right", e un numero di decimali pari a quanto definito (cfr. paragrafo 1.9) in getoption("digits"). A commento: > (x<-c(2,15,21,25)/3) [1] > format(x,digits=3) [1] "0.667" "5.000" "7.000" "8.333" > format(x^3,digits=3,justify="right") [1] " 0.296" " " " " " " > alpha<-c("valor medio","mediana","varianza") > format(alpha,justify="left") [1] "Valor medio" "Mediana " "Varianza " > format(alpha,justify="right") [1] "Valor medio" " Mediana" " Varianza" > format(alpha,justify="none") [1] "Valor medio" "Mediana" "Varianza" formula("espressione"): consente di definire un nuovo oggetto con struttura tipo formula il cui impiego è principalmente riservato alle procedure di regressione (lm) e di analisi della varianza (aov). La trasformazione della struttura di un opportuna stringa in formula avviene con il comando as.formula(striga). Alcuni esempi sono: > (formulayx<-formula("y~x")) y ~ x > nomi.x<-paste("x",c(1:4),sep="") > (f<-as.formula(paste("y ~ ", paste(nomi.x, collapse= "+")))) y ~ x1 + x2 + x3 + x4 gl(n,k): genera in modo automatico una sequenza di interi positivi da 1 a n, ciascuno dei quali viene ripetuto k volte 5. Il risultato ha struttura factor. Ad esempio: 5 Si noti che length(gl(n,k))=n*k. 19

22 Dipartimento di Statistica e Matematica Diego de Castro, nota tecnica 2, 2OO1 > (temperatura<-gl(2,3)) [1] Levels: 1 2 L opzione labels =, che per default viene posta uguale a 1:n, consente di attribuire, a discrezione dell utente, etichette ai diversi livelli del fattore di interesse; ad esempio: > (temperatura<-gl(2,3,labels=c(120,160))) [1] Levels: > (sesso<-gl(2,3,labels=c("maschio","femmina"))) [1] Maschio Maschio Maschio Femmina Femmina Femmina Levels: Maschio Femmina levels(fattore): indica quali sono i livelli del fattore specificato. Infatti: > temperatura<-gl(2,3,labels=c(120,160)) > sesso<-gl(2,3,labels=c("maschio","femmina")) > levels(temperatura) [1] "120" "160" > levels(sesso) [1] "Maschio" "Femmina" match(x,y,nomatch=na): confronta i due oggetti x e y e restituisce l elenco degli elementi della loro intersezione. Gli elementi diversi sono, per default, definiti mancanti (NA). Ad esempio: > x<-c(1:10) > y<-c(7:20) > match(x,y) [1] NA NA NA NA NA NA mentre: > y[match(x,y,nomatch=0)] [1]

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Elementi di Statistica

Elementi di Statistica Elementi di Statistica Contenuti Contenuti di Statistica nel corso di Data Base Elementi di statistica descrittiva: media, moda, mediana, indici di dispersione Introduzione alle variabili casuali e alle

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Introduzione allo Scilab Parte 3: funzioni; vettori.

Introduzione allo Scilab Parte 3: funzioni; vettori. Introduzione allo Scilab Parte 3: funzioni; vettori. Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro felix@dm.uniba.it 13 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

MATRICI E DETERMINANTI

MATRICI E DETERMINANTI MATRICI E DETERMINANTI 1. MATRICI Si ha la seguente Definizione 1: Un insieme di numeri, reali o complessi, ordinati secondo righe e colonne è detto matrice di ordine m x n, ove m è il numero delle righe

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Matematica B - a.a 2006/07 p. 1

Matematica B - a.a 2006/07 p. 1 Matematica B - a.a 2006/07 p. 1 Definizione 1. Un sistema lineare di m equazioni in n incognite, in forma normale, è del tipo a 11 x 1 + + a 1n x n = b 1 a 21 x 1 + + a 2n x n = b 2 (1) = a m1 x 1 + +

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

ESERCIZI SVOLTI PER LA PROVA DI STATISTICA

ESERCIZI SVOLTI PER LA PROVA DI STATISTICA ESERCIZI SVOLTI PER LA PROVA DI STATISTICA Stefania Naddeo (anno accademico 4/5) INDICE PARTE PRIMA: STATISTICA DESCRITTIVA. DISTRIBUZIONI DI FREQUENZA E FUNZIONE DI RIPARTIZIONE. VALORI CARATTERISTICI

Dettagli

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto. 29 giugno 2009 - PROVA D ESAME - Geometria e Algebra T NOME: MATRICOLA: a=, b=, c= Sostituire ai parametri a, b, c rispettivamente la terzultima, penultima e ultima cifra del proprio numero di matricola

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

STATISTICA (A-K) a.a. 2007-08 Prof.ssa Mary Fraire Test di STATISTICA DESCRITTIVA Esonero del 2007

STATISTICA (A-K) a.a. 2007-08 Prof.ssa Mary Fraire Test di STATISTICA DESCRITTIVA Esonero del 2007 A STATISTICA (A-K) a.a. 007-08 Prof.ssa Mary Fraire Test di STATISTICA DESCRITTIVA Esonero del 007 STESS N.O. RD 00 GORU N.O. RD 006 ) La distribuzione del numero degli occupati (valori x 000) in una provincia

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

Risposta: L area del triangolo è dove sono le misure di due lati e è l ampiezza dell angolo tra essi compreso ;

Risposta: L area del triangolo è dove sono le misure di due lati e è l ampiezza dell angolo tra essi compreso ; 1. Un triangolo ha area 3 e due lati che misurano 2 e 3. Qual è la misura del terzo lato? : L area del triangolo è dove sono le misure di due lati e è l ampiezza dell angolo tra essi compreso ; nel nostro

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

1x1 qs-stat. Pacchetto Software per la Soluzione di Problemi Statistici nel Controllo Qualità. Versione: 1 / Marzo 2010 Doc. n.

1x1 qs-stat. Pacchetto Software per la Soluzione di Problemi Statistici nel Controllo Qualità. Versione: 1 / Marzo 2010 Doc. n. 1x1 qs-stat Pacchetto Software per la Soluzione di Problemi Statistici nel Controllo Qualità Versione: 1 / Marzo 2010 Doc. n.: PD-0012 Copyright 2010 Q-DAS GmbH & Co. KG Eisleber Str. 2 D - 69469 Weinheim

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale. l Editor vi Negli ambienti Unix esistono molti editor di testo diversi; tuttavia vi è l unico che siamo sicuri di trovare in qualsiasi variante di Unix. vi (visual editor) è stato scritto per essere utilizzabile

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

RETTE, PIANI, SFERE, CIRCONFERENZE

RETTE, PIANI, SFERE, CIRCONFERENZE RETTE, PIANI, SFERE, CIRCONFERENZE 1. Esercizi Esercizio 1. Dati i punti A(1, 0, 1) e B(, 1, 1) trovare (1) la loro distanza; () il punto medio del segmento AB; (3) la retta AB sia in forma parametrica,

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice . Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice Ordinamento di osservazioni: PROC SORT PROC SORT DATA=fa il sort è numerico

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

SISTEMI LINEARI QUADRATI: METODI ITERATIVI

SISTEMI LINEARI QUADRATI: METODI ITERATIVI SISTEMI LINEARI QUADRATI: METODI ITERATIVI CALCOLO NUMERICO e PROGRAMMAZIONE SISTEMI LINEARI QUADRATI:METODI ITERATIVI p./54 RICHIAMI di ALGEBRA LINEARE DEFINIZIONI A R n n simmetrica se A = A T ; A C

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO Archimede ESAME DI STATO SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO ARTICOLO Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario. Sia ABCD un quadrato di

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

1 Numeri Complessi, Formula di Eulero, Decomposizioni Notevoli,... ecc.

1 Numeri Complessi, Formula di Eulero, Decomposizioni Notevoli,... ecc. Classi Numeriche 1 1 Numeri Complessi, Formula di Eulero, Decomposizioni Notevoli,... ecc. In questo breve capitolo richiamiamo le definizioni delle classi numeriche fondamentali, già note al lettore,

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

Calcolo combinatorio

Calcolo combinatorio Probabilità e Statistica Esercitazioni a.a. 2009/2010 C.d.L.S.: Ingegneria Civile-Architettonico, Ingegneria Civile-Strutturistico Calcolo combinatorio Ines Campa e Marco Longhi Probabilità e Statistica

Dettagli

INFORMATIVA FINANZIARIA

INFORMATIVA FINANZIARIA Capitolo 10 INFORMATIVA FINANZIARIA In questa sezione sono riportate le quotazioni e le informazioni relative ai titoli inseriti nella SELEZIONE PERSONALE attiva.tramite la funzione RICERCA TITOLI è possibile

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0. Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

1) Primi semplici programmi in C++: ingresso e uscita di informazioni

1) Primi semplici programmi in C++: ingresso e uscita di informazioni 1) Primi semplici programmi in C++: ingresso e uscita di informazioni Ecco un primo esempio di programma in linguaggio C++: Esempio 1.1 /* QUESTO PROGRAMMA MOLTIPLICA 3 PER 5 E SOMMA 7 AL RISULTATO DEL

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:... Ministero della Pubblica Istruzione Rilevazione degli apprendimenti Anno Scolastico 2006 2007 PROVA DI MATEMATICA Scuola Secondaria di II grado Classe Terza Tipo A Codici Scuola:..... Classe:.. Studente:.

Dettagli

Guida rapida di IBM SPSS Statistics 20

Guida rapida di IBM SPSS Statistics 20 Guida rapida di IBM SPSS Statistics 20 Nota: Prima di utilizzare queste informazioni e il relativo prodotto, leggere le informazioni generali disponibili in Note legali a pag. 162. Questa versione si applica

Dettagli

ESTRAZIONE DI RADICE

ESTRAZIONE DI RADICE ESTRAZIONE DI RADICE La radice è l operazione inversa dell elevamento a potenza. L esponente della potenza è l indice della radice che può essere: quadrata (); cubica (); quarta (4); ecc. La base della

Dettagli

Excel basi e funzioni

Excel basi e funzioni Esercitazione di Laboratorio Excel basi e funzioni Contenuto delle celle 1. Testo 2. Numeri 3. Formule Formattazione delle celle (1) Formattazione del testo e dei singoli caratteri: Orientamento a 45 Allineamento

Dettagli

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:...

Rilevazione degli apprendimenti. Anno Scolastico 2006 2007 PROVA DI MATEMATICA. Scuola Secondaria di II grado. Classe Terza Tipo A. Codici. Scuola:... Ministero della Pubblica Istruzione Rilevazione degli apprendimenti Anno Scolastico 2006 2007 PROVA DI MATEMATICA Scuola Secondaria di II grado Classe Terza Tipo A Codici Scuola:..... Classe:.. Studente:.

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Dott.ssa Caterina Gurrieri

Dott.ssa Caterina Gurrieri Dott.ssa Caterina Gurrieri Le relazioni tra caratteri Data una tabella a doppia entrata, grande importanza riveste il misurare se e in che misura le variabili in essa riportata sono in qualche modo

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Principal Component Analysis (PCA)

Principal Component Analysis (PCA) Principal Component Analysis (PCA) Come evidenziare l informazione contenuta nei dati S. Marsili-Libelli: Calibrazione di Modelli Dinamici pag. Perche PCA? E un semplice metodo non-parametrico per estrarre

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA 1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Breve guida all uso di AMPL

Breve guida all uso di AMPL Breve guida all uso di AMPL Renato Bruni AMPL (A Modeling Language for Mathematical Programming) è un linguaggio di modellazione per la programmazione matematica. Serve ad esprimere un problema di ottimizzazione

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri

Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri Linguaggio di bash per esempi Tre modi per quotare quotare: signica trattare caratteri speciali come normali caratteri es. di aratteri speciali: $, blank, apici, 1. backslash: per quotare un solo carattere

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli