Manuale per l'installazione e l'utilizzo di R-php - Angelo M. Mineo & Alfredo Pontillo
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Manuale per l’installazione e l’utilizzo di R-php Versione n. 0.99a Angelo M. Mineo & Alfredo Pontillo
1 Presentazione R-php è un progetto sviluppato nell’ambito del Dipartimento di Scienze Statistiche e Matemetiche “Silvio Vianelli” dell’Università degli Studi di Palermo e si pone come obiettivo la realizzazione di un software statistico web-oriented, cioè un software a cui l’utilizzatore finale accede attraverso Internet e per il cui funzionamento è richiesta solamente l’installazione di un browser, cioè di un programma per la visualizzazione di hypertesti (esempi di browser sono: Explorer, Mozilla, Firefox, Opera, ecc...). R-php è un progetto open-source con il codice rilasciato dagli autori e può essere liberamente installato (vedi paragrafo 1.1) L’idea di progettare un software statistico che potesse essere utilizzato attraverso internet nasce dalle seguenti considerazioni: è un fatto accertato che la crescente diffusione di Internet e la richiesta di nuovi servizi da parte dei suoi utenti ha e sta, tuttora, cambiando radicalmente le modalità di accesso alle strutture di uso quotidiano (lavoro, studio, ecc...); ormai la maggior parte delle informazioni e dei servizi fruiscono attraverso il web e nella stessa direzione si sta muovendo la filosofia del software: un esempio in questo senso si ha nell’ambito del software per la gestione di database con l’applicativo PhpMyAdmin che costituisce un’interfaccia grafica via web di MySQL, che è il database piu utilizzato per applicazioni web-oriented; altro esempio è dato, da un punto di vista commerciale dell’utilizzo della rete, dallo sviluppo che ha avuto l’home-banking. Per quanto riguarda, in generale, l’utilizzo del software, la tendenza a produrre software che vanno installati sul proprio computer sta lentamente scemando a favore proprio di software utilizzabili attraverso l’ausilio di una connessione ad internet e di un browser. Una caratteristica fondamentale di R-php è il fatto che tutte le elaborazioni stati- stiche sfruttano come “motore” l’ambiente statistico di programmazione open-source R, che sempre più viene utilizzato non solo dal mondo accademico, ma anche da ditte di consulting (Marc Scwatz, 2004, The Decision to Use R: a cosulting business per- spective, R News, Vol. 4(1), pp. 2-5). R-php è quindi classificabile tra i progetti web dedicati ad R. Oltre a questo progetto ne esistono altri quali: R-web, R-PHP, ecc..
2 (vedi pagina web http://http://franklin.imgen.bcm.tmc.edu/R.web.servers). In breve, la differenza sostanziale tra R-php e gli altri progetti citati in precedenza consiste nel fatto che R-php presenta un modulo interattivo (R-php point-and-click ) che consente di effettuare alcune delle principali analisi statistiche senza che l’utente debba avere necessariamente una conoscenza approfondita dell’ambiente statistico R. Diversi sono i potenziali fruitori di R-php: si pensi, per esempio, all’utilizzo da parte di studenti o all’interno di strutture didattiche, quali aule di informatica, o da casa attraverso un semplice collegamento ad Internet, oppure un utilizzatore che non conoscendo e non volendo imparare ambienti di programmazione, qual è R, vuole eseguire semplici analisi statistiche, senza dover ricorrere all’acquisto della licenza di un software statistico commerciale.
Capitolo 1 Caratteristiche fondamentali di R-php 1.1 Guida all’installazione per la creazione di un server con R-php In questa sezione tratteremo l’argomento relativo all’installazione di R-php su un server Apache, rinviando ai paragrafi successivi per una descrizione più dettaglia- ta dei software necessari per un corretto funzionameto di R-php. Per semplicità senza perdere di generalità, per indicare i passi necessari per l’installazione fare- mo riferimento a un sistema LAMP (Linux, Apache, MySQL, PHP), cioè una macchina con sistema operativo Linux, con installato il webserver Apache, il data- base MySQL e il linguaggio PHP1 . Scaricato il sorgente R-php-xxx.tar.gz dal sito http://dssm.unipa.it/R-php oppure da http://r-php.homelinux.net, bisogna seguire i seguenti passi: 1. acquisire i privilegi di superutente (root) con il comando su. 2. Copiare il sorgente nella root di Apache: ad esempio, aprendo un terminale e 1 PHP è un linguaggio di scripting, lato server, per la creazione di pagine web con contenuto dinamico. 3
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 4 posizionandoci nella directory dove si trova il file R-php-xxx.tar.gz scaricato in precedenza, basta digitare il seguente comando: • per una distribuzione Redhat based ]\# cp R-php-xxx.tar.tgz /var/www/html/ • per una distribuzione Debian ]\# cp R-php-xxx.tar.tgz /var/www/ 3. Decomprimere il file R-php-xxx.tar.gz, ad esempio con il seguente comando: ]\# tar xvzf R-php-xxx.tar.gz A questo punto l’utente troverà, a partire dalla radice del server Apache, la directory R-php-xxx che contiene tutto il software. 4. Entrare nella directory R-php-xxx con il seguente comando: ]\# cd R-php-xxx La cartella conterrà i seguenti file e le seguenti directory: • COPYNG (file che contiene la lincenza d’uso); • Doc (directory che contiene la documentazione); • include (directory che contiene i file di configurazione); • index.html (pagina principale); • R (Modulo base di R-php); • README (file che contiene alcune informazioni iniziali sul software); • R-gui (Modulo Point and Click di R-php); 5. Entrare nella directory include con il seguente comando: ]\# cd include
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 5 6. Editare (con un qualsiasi editor, ad esempio vi) il file conn.php e modificare i campi con i dati necessari per l’accesso a MySQL (user e password). ]\# vi conn.php A questo punto basterà puntare col proprio browser all’indirizzo http://localhost/ R-php-xxx/, oppure all’indirizzo http://tuo-dominio/R-php-xxx, per accedere ad R-php. 1.2 Descrizione di R-php In questo paragrafo illustreremo il software che è necessario per l’implementazione di un server R-php e il codice utilizzato per il funzionamento dei due moduli previsti. Si sottolinea che tutto il software utilizzato è open-source. 1.2.1 Software richiesto Per un corretto funzionamento di R-php è necessario installare sul server i seguenti software: • Apache: Il server Httpd Apache: – è un Web server potente, flessibile HTTP/1.1 compatibile; – implementa i più recenti protocolli; – è altamente configurabile e integrabile con altri moduli appartenenti ad altri software; – può essere configurato scrivendo moduli che utilizzano un modulo API dello stesso Apache. – fornisce gli interi codici sorgente ed è rilasciato con una licenza non restrit- tiva;
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 6 – può essere eseguito su Windows NT/9X, su Netware 5.X e superiori, su OS/2 e sulla maggior parte delle versioni di UNIX, cosı̀ come su diversi altri sistemi operativi; – è altamente sviluppabile; – implementa molte caratteristiche richieste frequentemente, le cui principali sono: ∗ database DBM per l’autenticazione, che permette di configurare fa- cilmente pagine protette da password con numeri elevati di utenti autorizzati senza che il server collassi. ∗ personalizzazione dei messaggi di errore; permette, infatti, di confi- gurare file o anche script CGI che vengono ritornati dal server come risposta a errori e problemi; ∗ gestione indipendente per le direttive da assegnare alle directory, che permette anche di indicare al server quale file aprire di default quando una directory url è richiesta, qualunque sia il suo contenuto; ∗ virtual host, che è una caratteristica molto richiesta, conosciuta anche come “multi-homed-servers”; questa caratteristica permette al server di distinguere tra richieste effettuate a differenti indirizzi IP o nomi “mappati” sulla stessa macchina; ∗ possibilità di configurare e personalizzare la gestione dei log. Oggi Apache è ritenuto il Web server più veloce, efficente e più funzionale che esista; non a caso in base, ad esempio, ai dati forniti dal Netcraft Web Server Survay (http://news.netcraft.com/archives/web_server_survey. html) Apache risulta il Web server più utilizzato con una percentuale di utilizzo pari a 68.43 % (dato riferito al gennaio 2005). Per un confronto sulla diffusione dei più comuni Web server vedi figura 1.1.
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 7 Figura 1.1: Statistiche relative all’andamento nel tempo della frequenza di utilizzo dei principali Web server.
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 8 • R R è un linguaggio e un ambiente per il calcolo e la grafica statistica; è un pro- getto GNU simile al linguaggio S, sviluppato ai BELL Laboratories, diventato successivamente AT&T e ora Lucent Technologies, da John Chambers e alcuni colleghi. R può essere considerato come una differente implementazione di S. Ci sono alcune significative differenze tra i due ambienti, ma molto codice scrit- to per S si esegue inalterato sotto R. R fornisce un’ampia varietà di tecniche statistiche (modellizzazione lineare e non lineare, test statistici classici, analisi di serie storica, classificazione, etc...) e grafica ed è altamente estensibile. Il linguaggio S è spesso lo strumento scelto per la ricerca nella metodologia stati- stica ed R fornisce un’alternativa open-source a tale attività. Uno dei punti di forza di R è la facilità con cui possono essere prodotti grafici di alta qualità che includono simboli e formule matematiche, dov’è necessario. R si compila e si esegue su una grande varietà di piattaforme UNIX e sistemi similari (incluso FreeBSD e Linux), Windows e MacOS. R è un insieme di utilità software integrate per la manipolazione dei dati, il calcolo e la visualizzazione grafica e include tra l’altro: – un efficace manipolatore di dati e un altrettanto efficace dispositivo di memorizzazione; – un insieme di operatori per i calcoli su array, in particolare matrici; – una grande, coerente, integrata raccolta di strumenti intermedi per l’analisi dei dati; – risorse grafiche per l’analisi dei dati con visualizzazione direttamente sul computer o su carta attraverso stampante; – un ben sviluppato, semplice ed efficace linguaggio di programmazione che include istruzioni condizionali, loop, funzioni ricorsive definite dall’utente e strumenti di input/output. Il termine “ambiente” caratterizza un sistema pienamente pianificato e coerente,
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 9 piuttosto che un sistema che si incrementa attraverso parti molto specifiche e poco flessibili, come accade frequentemente con altri software statistici. • PHP PHP è un linguaggio di scripting HTML-embedded, cioè un linguaggio che per- mette di inserire codice eseguibile all’interno di pagine HTML. Molta parte della sua sintassi è presa in prestito da C, Java e Perl con l’inserimento di alcune caratteristiche proprie del linguaggio. L’obiettivo di PHP è permettere agli sviluppatori di pagine Web di scrivere velocemente pagine generate dina- micamente. PHP sta per PHP Hypertext Preprocessor e il suo nome è quindi un acronimo cosiddetto ricorsivo. • MySQL MySQL è un sistema di amministrazione per database relazionali. La carat- teristica principale di un database relazionale consiste nel memorizzare i dati in strutture separate, chiamate tabelle, piuttosto che mettere tutti i dati in un’unica zona. La parte SQL presente nel nome MySQL è acronimo di Struc- ture Query Language, che è il più comune linguaggio utilizzato per l’accesso ai database. MySQL database server è il più popolare database open-source al mondo; la sua fortuna è dovuta alla sua estrema velocità e flessibilità, ed è proprio la velocità di accesso ai dati che lo rende particolarmente indicato per l’implementazione di applicazioni web. • ImageMagick ImageMagick è una collezione di strumenti e librerie per la manipolazione di immagini. ImageMagick è in grado di gestire, convertire e manipolare i più popolari formati, inclusi .gif, .jpeg, .png e .pdf; inoltre si possono creare dinamicamente grafici in formato .gif per applicazioni web. Di seguito sono riportati alcuni esempi di operazioni che ImageMagick può svolgere: – Convertire un’immagine da un formato ad un altro; – Ridimensionare, ruotare, modificare colori o aggiungere effetti;
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 10 – Creare thumbnails; – Montare un gruppo di immagini in un’unica sequenza per la realizzazione di una sequenza animata in formato .gif. – Aggiungere ad un’immagine elementi quali testo o parti di altre immagini; – Decorare un’immagine con bordi; – Descrivere il formato e le caratteristiche di un’immagine. La caratteristica principale di ImageMagick, che lo rende strumento indispen- sabile per la gestione di immagini anche per applicazoni web, è la possibilità di effettuare le operazioni prima citate (e non solo) da riga di comando (con l’utilizzo di una qualsiasi shell, ad esempio la BASH 2 ). Come è noto, all’interno di R sono disponibili una serie di comandi per la gestio- ne di immagini di vari formati (.png, .jpeg, .ps, etc...), ma nel modulo base di R-php l’utilizzo di ImageMagick è risultato più facilmente gestibile. Inoltre, sotto UNIX il device png di R usa il driver X11, il che costituisce un proble- ma quando si effettuano operazioni in “batch mode” o in remoto. L’utilizzo di ImageMagick nel modulo base è stato esteso anche al modulo point-and-click di R-php. R invocato in “batch mode” produce i grafici in un unico file in formato .ps; di seguito è riportato il codice in PHP per manipolare e convertire il file .ps in formati “web-compatible” attraverso l’ausilio di ImageMagick: exec("convert ./pages/tmp/$temp/Rplots.ps ./pages/tmp/$temp/R.png"); exec("convert -antialias -rotate 90 $fn ./pages/tmp/$temp/$nn.png"); • htmldoc htmldoc è un programma che genera file in formato .html indicizzato, Adobe Postscript e .pdf da file sorgenti .html. htmldoc include una semplice interfac- cia GUI (Grafical User Interface) per trattare file .html e generare automatica- mente file da visualizzare e/o stampare. htmldoc può anche essere utilizzato su un Web server per generare file “on-the-fly”. 2 Bourn Again SHell
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 11 Per i software prima descritti è consigliabile disporre delle ultime versioni ed è co- munque indispensabile avere installato: per il software PHP una versione a partire dalla 4.3.0., per R una versione a partire dalla 2.0.0. 1.2.2 Descrizione del primo modulo (R-php base) Quando l’utente entra nella pagina iniziale di questo modulo viene creata una direc- tory temporanea; il nome di questa directory è generato dalla seguente porzione di codice: $unico = substr(uniqid("5555"),-5); $time = time(); $max = mktime(6, 0, 0, 1, 1, 1970); $temp = $unico."_".$time; In base a questo codice implementato, viene inizialmente generata in maniera pseudo- casuale una stringa di caratteri alfa-numerici, cui viene associato il timestamp unix. All’interno di questa directory temporanea si troveranno tutti i file generati dall’utente collegato e relativi alla corrente sessione di lavoro; questo garantisce la multi-utenza, cioè l’utilizzo concorrente di più utenti, senza determinare confusione tra i file creati durante le diverse sessioni conteporanee. Questa caratteristica di R-php non sembra essere implementata in altri sistemi similari. Il numero massimo di utenti concorrenti non dipende da R-php, ma dalle impostazioni del server Apache che lo ospita. Di seguito si riporta il codice PHP che confronta il timestamp unix corrente con quello presente nel nome delle directory temporanee ed elimina quelle presenti sul server da almeno sei ore: questo permette di evitare di avere all’interno del server un numero eccessivo di directory: foreach(glob("./pages/tmp/*") as $dir){ $time_scad_temp = explode("_", $dir); $control = $time - $time_scad_temp[1]; if($control>=$max){
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 12 delfile("$dir/*"); rmdir("$dir"); } } mkdir("pages/tmp/$temp", 777); chmod("pages/tmp/$temp", 0777); Il primo modulo di R-php permette di immettere in una textarea porzioni di codice R che viene trascritto in un file di testo. Di seguito è riportata la sequenza di istruzioni in PHP che permettono di eseguire questa operazione: $nomefile = "codice.txt"; $fp = fopen("./pages/tmp/$temp/$nomefile", "w") or die("impossibile aprire file"); fputs ( $fp, "$codice") or die("impossibile scrivere"); fclose($fp); Come è noto, R contiene comandi che permettono l’interazione col sistema ope- rativo della macchina utilizzata; questo potrebbe risultare pericoloso in un ambiente come questo, perchè un utente esterno potrebbe immettere (volontariemente e non) comandi dannosi. Per evitare questo incoveniente si è deciso di implementare una struttura di controllo che non consente l’utilizzo di un insieme di comandi che si ritengono pericolosi per la sicurezza del server. Tali comandi sono contenuti in un database MySQL, che contiente anche una breve descrizione di quello che farebbe il comando vietato. È chiaro che l’utente, interessato ad installare su un proprio server R-php, può modificare in qualunque momento questa lista di comandi. Per mag- giore sicurezza questa struttura di controllo viene effettuata dapprima “lato-client” in javascript e successivamente (solo se si riesce ad eludere tale controllo) anche “lato-server” in PHP. Per quanto riguarda l’immissione dei dati, oltre a poterli inserire in maniera ma- nuale attraverso gli opportuni comandi di R, vi è la possibilità di poter leggere i dati da un file di testo contenuto all’interno della macchina dell’utente. Da un punto di
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 13 vista tecnico questa operazione coincide con un “upload” sul server, per il quale viene utilizzata la seguente sequenza di comandi PHP: if(isset($HTTP_POST_VARS[upFile]) and $HTTP_POST_VARS[upFile] = "yes"){ include("./include/temp.php"); $nomeFile = pulisci($HTTP_POST_FILES[’file’][’name’]); move_uploaded_file($HTTP_POST_FILES[’file’][’tmp_name’], "./pages/tmp/$_SESSION[temp]/$nomeFile"); } I comandi R, contenuti nel file creato precedentemente, vengono processati da R che nel frattempo è stato invocato in “batch mode” da PHP. Il comando che permette di effettuare questa operazione è il seguente: exec(R --no-save -q < codice.txt > output 2>&1); R, invocato in “batch mode”, restituisce l’output in due formati: uno puramente testuale con l’analisi richiesta, uno in formato .ps che contiene eventuali grafici. A questo punto i due file vengono trattati in due modi differenti: • il file di testo viene semplicemente formattato (utilizzando gli style-sheet) per renderlo più leggibile; • il file in formato .ps viene diviso per ottenere un file per ogni immagine; ogni immagine viene poi convertita in un formato più idoneo per la visualizazzione web (in formato .png); queste operazioni sono effettuate con l’ausilio del software ImageMagick, descritto precedentemente. Nella fase finale l’output, completo di eventuali grafici, viene visualizzato in una nuova finestra. In questa finestra vi è la possibilità per l’utente di salvare l’output in formato .pdf attraverso il software htmldoc, oppure si può decidere di salvare separatamente, qualora siano stati generati, uno o più grafici prodotti durante la sessione.
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 14 1.2.3 Descrizione del secondo modulo (R-php point-and-click) Il modulo di R-php che descriviamo in questo paragrafo non è una semplice interfac- cia web di R, ma presenta a tutti gli effetti le caratteristche di un GUI; questa parte fa sı̀ che R-php presenti caratteri di novità rispetto a progetti similari. L’organizzazione delle sessioni concorrenti relative a questo modulo è analoga a quella descritta nel paragrafo precedente per il modulo R-php base. Per quanto riguarda l’immissione dei dati, che costituisce il primo passo nell’uti- lizzo di R-php point-and-click, viene effettuata caricando un file ASCII dal computer dell’utilizzatore. Successivamente, il contenuto del file viene visualizzato in una nuova pagina sotto forma di uno “spreadsheet”; questo insieme di dati è gestito da My- SQL: questo permette di poter effettuare alcune operazioni interattive direttamente sui dati; ad esempio, è possibile modificare il nome delle variabili o i valori di ogni singola cella dello “spreadsheet”; di seguito è riportato il codice in PHP e MySQL per la modifica del valore di una cella: $sql = "UPDATE $temp SET var$v = ’$val’ where id=’$r’"; mysql_query ($sql, $conn); Caricato l’insieme di dati, è possibile scegliere che tipo di analisi effettuare tra quelle proposte. Ciascuna di queste analisi può essere effettuata attraverso l’ausilio di un GUI; nel GUI vengono scelte le opzioni di analisi che l’utente vuole utilizzare; tali opzioni verranno tradotte in codice R che viene inviato per essere processato dall’ambiente di programmazione R. In maggiore dettaglio questa fase comporta i seguenti passi: 1. il codice viene trascritto in un file ASCII che sarà l’input di R; questa operazione ricalca quella descritta per il modulo base; 2. viene esportato il database contenente i dati in un file ASCII; di seguito ripor- tiamo il codice utilizzato: exec("mysqldump -T ./pages/tmp/$temp --fields-terminated-by=’ ’ R $temp -u’$user’ -p’$pass’");
CAPITOLO 1. CARATTERISTICHE FONDAMENTALI DI R-PHP 15 3. R, invocato in “batch mode”, processa il codice contenuto nel file creato prece- dentemente; 4. R restituisce l’output che si presenta in due file, uno (in formato ASCII) che contiene la parte testuale dell’analisi e l’altro (in formato .ps) che contiene i grafici; 5. il file ASCII viene formattato per essere compatibile con gli standard WEB; 6. il file .ps viene dapprima diviso in più file e poi manipolato e convertito con l’ausilio di ImageMagick in .png; questa operazione ricalca quella descritta per il modulo base; A questo punto viene generata una pagina web che contiene il testo e i grafici dell’analisi effettuata. La pagina contenente l’output consente, inoltre, altre opera- zioni interessanti, quali il salvataggio dell’output, completo di grafici, in formato .pdf (Portable Document Format) ed il salvataggio delle singole immagini attraverso un semplice click. Non ci soffermiamo sulla descrizione di ciascuno dei GUI presenti per le diverse analisi che è possibile effettuare con R-php point-and-click, perchè dal punto di vista della progettazione il codice implementato è formalmente analogo per ciascuno dei GUI.
Capitolo 2 Guida all’utilizzo 2.1 Utilizzo di R-php base Questa interfaccia permette il semplice inserimento del codice R in una text-area. Le componenti della pagina utilizzabili dall’utente sono: • La text-area per l’inserimento del codice R In questa parte della pagina l’utente deve digitare il codice R necessario per l’a- nalisi da effettuare. Non è consentito utilizzare comandi in R che interagiscono con il sistema operativo; quando un utente digita uno di questi comandi, non viene eseguita alcuna parte di codice e contestualmente appare una finestra di “alert” che avvisa l’utente che nel codice immesso c’è un comando vietato; la stessa finestra consente all’utente di visualizzare la lista dei comandi “banna- ti” con una breve descrizione di ciascuno di essi. Il codice può essere digitato direttamente, ma naturalmente si potrebbe anche copiarlo da altre fonti ed “incollarlo”; • Il tasto send Quando l’utente ha finito di immettere tutto il codice R che vuole eseguire nella text-area, basta cliccare su questo tasto e il codice inserito sarà inviato ad R per essere processato. 16
CAPITOLO 2. GUIDA ALL’UTILIZZO 17 • Il tasto reset Se l’utente decide di immettere nuovo codice nella text-area, il tasto reset gli consente all’inizio di pulire l’area di immissine del codice. • Il campo di testo Nel caso l’utente voglia utilizzare per la propria analisi un dataset in formato ASCII presente nel proprio computer, può immettere direttamente il percor- so del file in questo campo, oppure più semplicemente può cliccare sul tasto sfoglia (browse) e selezionare dalla finestra di caricamento-file del browser il file desiderato; una volta inserito il dataset, verrà riprodotto nella text-area il codice R necessario per il caricamento del dataset prescelto. A questo punto l’utente deve solamente cliccare sul tasto send per ottenere l’out- put del codice immesso in una nuova finestra; in questa finestra saranno compresi anche gli eventuali grafici generati. Nella finestra di output vi è la possibilità di salvare il risultato dell’analisi in formato .pdf cliccando sull’apposito link (vedi 2.3). 2.2 Utilizzo di R-php point-and-click In questo tipo di interfaccia i dati non possono essere digitati direttamente, ma è necessario preparare, eventualmente con un editor, un file di testo che viene selezio- nato dal proprio computer, cliccando sul tasto sfoglia (browse). Per l’utilizzo di questo modulo non è necessaria da parte dell’utente la conoscenza dell’ambiente di programmazione R, ma tutte le analisi consentite possono essere effettuate solo con l’ausilio del mouse. Per poter effettuare analisi con questo modulo è necessario caricare un file di dati dal proprio computer; la procedura per il caricamento di un dataset è esattamente analoga a quella vista per il modulo R-php base. L’import del file di testo non presenta grossi problemi; si possono usare vari delimitatori di campo (virgola, tabulazione, spazio, ecc.) e a meno di alcuni caratteri non alfa-numerici utilizzati da alcuni editor, i dati saranno importati correttamente (si consiglia eventualmente di effettuare più
CAPITOLO 2. GUIDA ALL’UTILIZZO 18 Figura 2.1: R-php base.
CAPITOLO 2. GUIDA ALL’UTILIZZO 19 Figura 2.2: R-php base: codice per l’import del dataset.
CAPITOLO 2. GUIDA ALL’UTILIZZO 20 Figura 2.3: R-php base: output.
CAPITOLO 2. GUIDA ALL’UTILIZZO 21 prove, rieditando il file ed eliminando i caratteri che dovessero dare problemi). È inoltre necessario indicare, spuntando la casella relativa a Header, con yes o no la presenza o meno dei nomi delle variabili nella prima riga del dataset. Nella fase successiva i dati si presentano ordinati in una tabella come nei più classici “spreadsheet”, quale ad esempio Excel. Una caratteristica molto interessante riguarda la possibilità di poter modificare il contenuto di ogni singola cella dello “spreadsheet”, compreso il nome delle variabili, direttamente dalla pagina che visualizza i dati, attraverso un “popup” che permette tali modifiche. Nel menu in alto sono disponibili i tasti per effettuare vari tipi di analisi1 . Se nell’insieme dei dati vengono apportate modifiche, è possibile salvare nel proprio computer il nuovo insieme di dati in formato testo. Scelto il dataset, è possibile effettuare le analisi a disposizione; se l’utente volesse effettuare analisi su un nuovo dataset, non è possibile utilizzare le opzioni fornite dal browser, ma è necessario utilizzare l’opportuno link progettato proprio per l’import di nuovi insiemi di dati. Nel caso in cui un utente dovesse innavvertitamente utiliz- zare il tasto indietro del browser, non otterrà l’effetto sperato, ma quello che verrà comunque visualizzato sarà l’insieme di dati importato precedentemente. A questo punto, importato il dataset, è possibile effettuare le seguenti analisi. 2.2.1 Descriptive analysis Scegliendo il GUI relativo all’analisi descrittiva, oltre all’insieme di dati precedente- mente caricato, che anche in questa fase può essere comunque modificato, compare una finestra dove è possibile selezionare: • le variabili del dataset su cui si vogliono calcolare le statistiche; • l’elenco delle statistiche descrittive a disposizione. 1 Per ora i tipi di analisi disponibili sono limitati in numero, ma si prevede in un prossimo futuro di arricchire le funzionalità di questo software.
CAPITOLO 2. GUIDA ALL’UTILIZZO 22 In questa versione è possibile calcolare le seguenti statistiche descrittive: minimo, massimo, media aritmetica, mediana, quartili, scarto quadratico medio e varianza. Cliccando sul tasto send comparirà una nuova finestra contenente le statistiche descrittive calcolate per ciascuna delle variabili selezionate. Se l’utente non dovesse selezionare alcuna variabile, oppure nessuna statistica descrittiva, cliccando sul tasto send comparirà un messaggio di errore che invita l’utente a selezionare almeno una variabile ed una statistica descrittiva. Anche in questo caso, come d’altronde avviene per gli altri moduli, è possibile salvare la finestra dell’output in fomato .pdf. 2.2.2 Linear regression Scegliendo il GUI relativo all’analisi di regressione lineare, oltre all’insieme di dati precedentemente caricato, che anche in questa fase può essere comunque modificato, appare un campo di testo dove è possibile inserire l’espressione del modello, uti- lizzando la sintassi propria di R. In realtà, non è necessario che l’utente immetta direttamente la formula del modello, ma può scegliere di cliccare sul tasto model che aprirà una nuova finestra dove è possibile scegliere, tra le variabili del dataset, la va- riabile di risposta e le variabili esplicative. In questa finestra sono stati implementati dei controlli per cui: • non è possibile scegliere nessuna o più di una variabile di risposta; • è necessario scegliere almeno una variabile esplicativa; • una stessa variabile non può essere scelta contemporaneamente come variabile di risposta ed esplicativa. Scelte la variabile di risposta e le variabili esplicative, cliccando sul tasto insert questa finestra scomparirà e nel campo di testo della finestra iniziale del GUI com- parirà, in sintassi R, il modello corrispondente alle scelte fatte. Se un utente volesse immettere attraverso il campo di testo dei comandi potenzialmente pericolosi, anche in questo caso i comandi non verrebbero eseguiti e comparirebbe un messaggio di
CAPITOLO 2. GUIDA ALL’UTILIZZO 23 errore, attraverso il quale si può anche visionare la lista dei comandi non autorizzati. A questo punto cliccando sul tasto send viene eseguita la corrispondente analisi di regressione. I risultati dell’analisi verranno visualizzati in una finestra di output che contiene: • le principali statistiche descrittive calcolate sulle variabili presenti nel modello; • la matrice di varianza e covarianza; • la matrice di correlazione; • i risultati dell’analisi di regressione che comprendono: – la formula utilizzata per il modello; – alcune statistiche descrittive sui residui; – i valori dei coefficenti stimati, compresi l’errore standard e il valore del test t; – il coefficiente di determinazione R2 ; – la statistica F per saggiare l’ipotesi nulla di coefficenti di regressione tutti pari a zero, contro l’ipotesi alternativa che almeno uno sia diverso da zero. – tavola dell’analisi della varianza. • il grafico che contiene la matrice dei diagrammi di punto per ciascuna delle variabili coinvolte nel modello; • i grafici relativi all’analisi dei residui necessari per verificare le ipotesi di ba- se sull’adeguatezza del modello, sulla normalità della parte stocastica del mo- dello, l’omoscedasticità e il diagramma delle distanze di Cook per individuare eventuali valori anomali. In questa finestra sono inoltre presenti dei tasti per il salvataggio dell’output: • tutto l’output in fomato .pdf; • ogni singola immagine in formato .png.
CAPITOLO 2. GUIDA ALL’UTILIZZO 24 2.2.3 Analysis of variance La finestra grafica di questo GUI si presenta in maniera molto simile a quanto visto per il GUI di regressione lineare; anche in questo caso, oltre all’insieme di dati prece- dentemente caricato, appare un campo di testo dove è possibile inserire l’espressione del modello, utilizzando la sintassi propria di R. Per quanto riguarda l’insieme di dati si raccomanda all’utilizzatore di immettere insiemi di dati bilanciati per ottenere risultati facilmente interpretabili, come è noto. Anche in questo GUI, se un utente volesse immettere attraverso il campo di testo dei comandi potenzialmente pericolosi, i comandi non verrebbero eseguiti e comparirebbe un messaggio di errore, attraverso il quale si può anche visionare la lista dei comandi non autorizzati. In realtà, non è necessario che l’utente immetta direttamente la formula del modello, ma può scegliere di cliccare sul tasto model, che aprirà una nuova finestra dove è possibile scegliere, tra le variabili del dataset, la variabile di risposta e le variabili esplicative. Nel caso in cui le variabili esplicative siano codificate attraverso valori numerici, il codice im- plementato forza queste variabili a fattori. In questa finestra sono stati implementati dei controlli per cui: • non è possibile scegliere nessuna o più di una variabile di risposta; • è necessario scegliere almeno una variabile esplicativa; • una stessa variabile non può essere scelta contemporaneamente come variabile di risposta ed esplicativa. Inserito il modello, si chiude la finestra di scelta del modello ed apparirà la finestra principale leggermente modificata. In particolare, sotto il campo di immissione del modello verranno visualizzati i livelli delle variabili esplicative scelte. Accanto al tasto model comparirà, inoltre, un nuovo tasto che permettere all’utente di inserire nel modello le eventuali interazioni. A questo punto l’utente può effettuare l’analisi della varianza del modello prescelto cliccando sul tasto send. Apparirà quindi la finestra di output che conterrà le seguenti informazioni:
CAPITOLO 2. GUIDA ALL’UTILIZZO 25 • le variabili coinvolte nel modello; • i livelli di ogni fattore; • le principali statistiche descrittive per ogni variabile inclusa nel modello; • la tavola di analisi della varianza; • i grafici relativi all’analisi dei residui. Quando si effettua un’analisi della varianza a più di una via e si ha un’unica osservazione per cella, inserendo tutte le possibili interazioni si ha la somma dei quadrati del residuo pari a zero con una conseguente perdita di validità dei test F . In questi casi R-php, dopo la tabella di analisi della varianza, ferma l’esecuzione del codice e restituisce un messaggio di errore che evidenzia all’utente il fatto di essere incorso in una situazione di questo tipo. A questo punto si consiglia di tornare nella finestra principale del GUI reimmettendo il modello senza interazioni. Nella finestra di output sono inoltre presenti dei tasti per il salvataggio dell’output: • tutto l’output in formato .pdf; • ogni singola immagine in formato .png. 2.3 Esempi di utilizzo di R-php point-and-click In questa sezione vedremo alcuni esempi di utilizzo per ciascuno dei GUI finora svi- luppati per R-php point-and-click. Questa che segue vuole essere solamente un’in- dicazione fornita all’utente su come è possibile utilizzare R-php point-and-click ; se problemi dovessero sorgere nell’analisi di altri insiemi di dati, gli utenti sono invitati a segnalare tali problemi agli autori. 2.3.1 Statistiche descrittive In questa sezione verrà utilizzato l’insieme di dati contenuto nel file “formaggio.txt”. Questo file contiene dati relativi alle concentrazione di varie sostanze chimiche in
CAPITOLO 2. GUIDA ALL’UTILIZZO 26 30 campioni di formaggio Cheddar prodotto nella zona La Trobe Valley dello stato Victoria in Australia e una misura soggettiva del gusto per ogni campione (Moore e McCabe, 2002, Introduction to the practice of Statistics, Freeman and Co.). È noto, infatti, che man mano che il formaggio matura hanno luogo diversi processi chimici che determinano il sapore del prodotto finale. In particolare, le variabili prese in considerazione sono: • Taste: punteggio soggettivo del test sul gusto, ottenuto combinando i punteggi dati da diversi assaggiatori. • Acetic: logaritmo naturale della concentrazione di acido acetico. • H2S: logaritmo naturale della concentrazione di acido solfidrico. • Lactic: concentrazione di acido lattico. Caricato l’insieme di dati, selezionando il file “formaggio.txt” da una directory del computer locale e indicando l’opzione Yes di Header, il risultato ottenuto è quello mostrato in figura 2.4. Selezionando il GUI della statistica descrittiva verrà visualizzata la schermata presente in figura 2.5. Supponiamo di voler calcolare per tutte le 4 variabili presenti nel file importato le seguenti statistiche descrittive: minimo, massimo, media, mediana e varianza (vedi fig 2.6). A questo punto si eseguono i calcoli richiesti cliccando sul tasto send. La finestra di output avrà la forma riportata in figura 2.7. Come già descritto in precedenza, è possibile salvare l’output in formato .pdf; per l’output ottenuto in questo caso il file .pdf è riportato in appendice. 2.3.2 Regressione Lineare Per mostrare come utilizzare il GUI di regressione lineare di R-php point-and-click, consideriamo lo stesso file, “formaggio.txt”, utilizzato nella sezione precedente. Im- portato il file e scelto il GUI di regressione lineare (vedi figura 2.8) si vuole stimare il
CAPITOLO 2. GUIDA ALL’UTILIZZO 27 Figura 2.4: Import del file di dati.
CAPITOLO 2. GUIDA ALL’UTILIZZO 28 Figura 2.5: Schermata iniziale del GUI di Statistica descrittiva.
CAPITOLO 2. GUIDA ALL’UTILIZZO 29 Figura 2.6: Selezione delle analisi del GUI di statistica descrittiva.
CAPITOLO 2. GUIDA ALL’UTILIZZO 30 Figura 2.7: Output del GUI di statistica descrittiva.
CAPITOLO 2. GUIDA ALL’UTILIZZO 31 modello di regressione con Taste variabile di risposta e le rimanenti tre come variabili esplicative. Cliccando sul tasto model comparirà la finestra per la scelta delle variabili di risposta ed esplicative; nel nostro caso clicchiamo sul punto incrocio tra Taste e Response, mentre selezioniamo le rimanenti variabili come esplicative (vedi figura 2.9). Cliccando sul tasto insert si ritorna alla finestra iniziale del GUI di Regressione lineare e nel campo di testo apparirà l’espressione del modello scelto. A questo punto basta cliccare sul tasto send per ottenere i risultati relativi al modello scelto (vedi figura 2.10). Come già descritto in precedenza, è possibile salvare l’output in formato .pdf; per l’output ottenuto in questo caso il file .pdf è riportato in appendice. 2.3.3 Analisi della varianza Per quanto riguarda l’analisi della varianza vedremo un primo esempio di analisi della varianza ad una via. Si consideri l’insieme di dati contenuto nel file “capelli.txt”. I dati contenuti in questo file sono relativi ad uno studio condotto dalla University of Melbourne per stabilire se vi sono differenze nella soglia del dolore in tipi dai capelli biondi o bruni (McClave e Dietrich, 1991, Statistics, Dellen Pubblishing). In particolare, uomini e donne di varie età sono stati divisi in quattro gruppi secondo il colore dei capelli: LightBlond, DarkBlonde, LightBrunette, DarkBrunette. Lo scopo dell’esperimento è stato quello di vedere se il colore dei capelli è legato al dolore prodotto da comuni tipi di traumi. Ad ogni persona facente parte dell’esperimento è stato dato un punteggio per la soglia del dolore basato sulla sua performance in un test di sensibilità al dolore (più alto era il punteggio, più elevata era la tolleranza al dolore). Le variabili sono: HairColor e Pain. Come prima cosa importiamo il file come già descritto in precedenza. Scegliendo il GUI di Analisi della Varianza apparirà il relativo tool. A questo punto cliccando sul tasto model apparirà la finestra che consente all’utente di scegliere la variabile di risposta e i fattori; nel nostro caso
CAPITOLO 2. GUIDA ALL’UTILIZZO 32 Figura 2.8: Schermata iniziale del GUI di Regressione lineare.
CAPITOLO 2. GUIDA ALL’UTILIZZO 33 Figura 2.9: Finestra per la selezione delle variabili. clicchiamo sul punto incrocio tra HairColor ed Explanatory e sul punto incrocio tra Pain e Response (vedi figura 2.11). Cliccando sul tasto insert si ritorna alla finestra iniziale del GUI di Analisi della Varianza che apparirà leggermente diversa rispetto all’inizio. Nel campo di testo apparirà l’espressione del modello scelto e, sotto, i livelli dei fattori precedentemente scelti (vedi figura 2.12). A questo punto basta cliccare sul tasto send per ottenere i risultati relativi al modello scelto (vedi figura 2.13). Come già descritto in precedenza, è possibile salvare l’output in formato .pdf; per
CAPITOLO 2. GUIDA ALL’UTILIZZO 34 l’output ottenuto in questo caso il file .pdf è riportato in appendice. Vedremo adesso due esempi di Analisi della Varianza a due vie, il primo in cui abbiamo un’unica osservazione per cella e quindi dobbiamo supporre un effetto di interazione nullo, il secondo in cui abbiamo un piano bilanciato con più di un’osser- vazione per cella e quindi considereremo anche l’effetto di interazione. Per quanto riguarda il primo caso utilizzeremo il file “lunapiena.txt”. I dati contenuti in questo file si riferiscono ai tassi di ammissione a camere di emergenza di una clinica per la sa- lute mentale delle Virginia, prima, durante e dopo le 12 lune piene dall’Agosto 1971 al Luglio 1972. Questi dati sono stati rilevati per verificare se ha un qualche fondamento la credenza popolare che la luna piena sia portatrice di qualcosa di sinistro (Larsen & Marx, 1986, An Introduction to Mathematical Statistics and Its Applications, 3a edizione, Prentice Hall). Le variabili prese in considerazione sono Admission, che tiene conto del tasso di ammissione giornaliero; Month, che tiene conto del mese; Moon, che tiene conto del periodo di luna piena. Come prima cosa importiamo il file di dati come già descritto in precedenza. Scegliendo il GUI di Analisi della Varianza apparirà il relativo tool. A questo punto cliccando sul tasto model apparirà la finestra che consente all’utente di scegliere la variabile di risposta e i fattori; nel nostro caso, clicchiamo sul punto incrocio tra Month ed Explanatory, sul punto incrocio tra Moon ed Explanatory e sul punto incrocio tra Admission e Response (vedi figura 2.14). A questo punto si ritornerà alla precedente schermata e comparirà il tasto per immettere nel modello le eventuali interazioni add-interactions; nel nostro caso, non utilizzeremo questo tasto e procediamo con l’analisi cliccando sul tasto send. Sarà quindi visualizzato l’output in una nuova finestra (vedi figura 2.15). Come già descritto in precedenza è possibile salvare l’output in formato .pdf; per l’output ottenuto in questo caso il file .pdf è riportato in appendice. Vedremo adesso un esempio di Analisi della Varianza a due vie con effetto di interazione; per questo esempio utilizzeremo il file “insulate.txt”. Questo insieme di dati è costituito da tre variabili: la variabile di risposta Strength relativa alla forza di impatto di un particolare materiale isolante, espressa in piedi/libbre, con variabili esplicative Lot, che tiene conto del lotto del materiale isolante e Cut che tiene conto del tipo di taglio effettuato (Ostle & Malone, 1987, Statistics in Research: Basic
CAPITOLO 2. GUIDA ALL’UTILIZZO 35 Concepts and Techniques for Research Workers , 4a edizione, Blackwell Pubblishing). Come prima cosa importiamo il file di dati, come già descritto in precedenza. Scegliendo il GUI di Analisi della Varianza apparirà il relativo tool. A questo punto cliccando sul tasto model apparirà la finestra che consente all’utente di scegliere la variabile di risposta e i fattori; nel nostro caso, clicchiamo sul punto incrocio tra Cut ed Explanatory, sul punto incrocio tra Lot ed Explanatory e sul punto incrocio tra Strength e Response (vedi figura 2.16). Cliccando sul tasto insert si tornerà alla precedente schermata e comparirà il tasto add-interactions che consente all’utente di aggiungere al modello le eventuali interazioni; nel nostro caso selezioniamo le due variabili di cui vogliamo studiare l’effetto di interazione (vedi figura 2.17) Cliccando su insert verrà inserito il modello, completo delle interazioni scelte, nel campo apposito e cliccando sul tasto send verrà visualizzato l’output in una nuova finestra (vedi figura 2.18). Come già descritto in precedenza è possibile salvare l’output in formato .pdf; per l’output ottenuto in questo caso il file .pdf è riportato in appendice.
CAPITOLO 2. GUIDA ALL’UTILIZZO 36 Figura 2.10: Output del GUI di Regressione lineare
CAPITOLO 2. GUIDA ALL’UTILIZZO 37 Figura 2.11: Finestra per la selezione delle variabili.
CAPITOLO 2. GUIDA ALL’UTILIZZO 38 Figura 2.12: Schermata del GUI di Analisi della Varianza.
CAPITOLO 2. GUIDA ALL’UTILIZZO 39 Figura 2.13: Output del GUI di Analisi della Varianza
CAPITOLO 2. GUIDA ALL’UTILIZZO 40 Figura 2.14: Finestra per la selezione delle variabili.
CAPITOLO 2. GUIDA ALL’UTILIZZO 41 Figura 2.15: Output del GUI di Analisi della varianza.
CAPITOLO 2. GUIDA ALL’UTILIZZO 42 Figura 2.16: Finestra per la selezione delle variabili.
CAPITOLO 2. GUIDA ALL’UTILIZZO 43 Figura 2.17: Finestra per la selezione delle interazioni.
CAPITOLO 2. GUIDA ALL’UTILIZZO 44 Figura 2.18: Output del GUI di Analisi della varianza.
APPENDICE
output R−PHP − http://r−php.homelinux.net [1] "Taste" "Acetic" "H2S" "Lactic" Taste Min [1] 0.7 Median [1] 20.95 Mean [1] 24.53333 Max [1] 57.2 Variance [1] 264.2375 Acetic Min [1] 4.477 Median [1] 5.425 Mean [1] 5.498033 Max [1] 6.458 Variance [1] 0.3259021 H2S Min [1] 2.996 1
output R−PHP − http://r−php.homelinux.net Median [1] 5.329 Mean [1] 5.941767 Max [1] 10.199 Variance [1] 4.523615 Lactic Min [1] 0.86 Median [1] 1.45 Mean [1] 1.442 Max [1] 2.01 Variance [1] 0.0921062 2
output R−PHP − http://r−php.homelinux.net [1] "Taste" "Acetic" "H2S" "Lactic" Taste Acetic H2S Lactic Min. : 0.70 Min. :4.477 Min. : 2.996 Min. :0.860 1st Qu.:13.55 1st Qu.:5.237 1st Qu.: 3.978 1st Qu.:1.250 Median :20.95 Median :5.425 Median : 5.329 Median :1.450 Mean :24.53 Mean :5.498 Mean : 5.942 Mean :1.442 3rd Qu.:36.70 3rd Qu.:5.883 3rd Qu.: 7.575 3rd Qu.:1.667 Max. :57.20 Max. :6.458 Max. :10.199 Max. :2.010 Taste Acetic H2S Lactic Taste 264.237471 5.0996402 26.1288011 3.4742414 Acetic 5.099640 0.3259021 0.7503155 0.1046089 H2S 26.128801 0.7503155 4.5236150 0.4162177 Lactic 3.474241 0.1046089 0.4162177 0.0921062 Taste Acetic H2S Lactic Taste 1.0000000 0.5495393 0.7557523 0.7042362 Acetic 0.5495393 1.0000000 0.6179559 0.6037826 H2S 0.7557523 0.6179559 1.0000000 0.6448123 Lactic 0.7042362 0.6037826 0.6448123 1.0000000 Call: lm(formula = Taste ~ Acetic + H2S + Lactic) Residuals: 1
output R−PHP − http://r−php.homelinux.net Min 1Q Median 3Q Max −17.391 −6.612 −1.009 4.908 25.449 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) −28.8768 19.7354 −1.463 0.15540 Acetic 0.3277 4.4598 0.073 0.94198 H2S 3.9118 1.2484 3.133 0.00425 ** Lactic 19.6705 8.6291 2.280 0.03108 * −−− Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 10.13 on 26 degrees of freedom Multiple R−Squared: 0.6518, Adjusted R−squared: 0.6116 F−statistic: 16.22 on 3 and 26 DF, p−value: 3.81e−06 Analysis of Variance Table Response: Taste Df Sum Sq Mean Sq F value Pr(>F) Acetic 1 2314.14 2314.14 22.5481 6.528e−05 *** H2S 1 2147.02 2147.02 20.9197 0.0001035 *** Lactic 1 533.32 533.32 5.1964 0.0310795 * Residuals 26 2668.41 102.63 −−− Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 2
output R−PHP − http://r−php.homelinux.net 3
output R−PHP − http://r−php.homelinux.net [1] "HairColour" "Pain" > HairColour [1] "DarkBlond" "DarkBrunette" "LightBlond" "LightBrunette" Pain HairColour Min. :30.00 DarkBlond :5 1st Qu.:40.00 DarkBrunette :5 Median :48.00 LightBlond :5 Mean :47.84 LightBrunette:4 3rd Qu.:56.00 Max. :71.00 Analysis of Variance Table Response: Pain Df Sum Sq Mean Sq F value Pr(>F) HairColour 3 1360.73 453.58 6.7914 0.004114 ** Residuals 15 1001.80 66.79 −−− Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 1
output R−PHP − http://r−php.homelinux.net 2
output R−PHP − http://r−php.homelinux.net [1] "Month" "Moon" "Admission" > Month [1] "Apr" "Aug" "Dec" "Feb" "Jan" "Jul" "Jun" "Mar" "May" "Nov" "Oct" "Sep" > Moon [1] "After" "Before" "During" Admission Month Moon Min. : 5.000 Apr : 3 After :12 1st Qu.: 8.475 Aug : 3 Before:12 Median :12.850 Dec : 3 During:12 Mean :11.931 Feb : 3 3rd Qu.:14.000 Jan : 3 Max. :25.000 Jul : 3 (Other):18 Analysis of Variance Table Response: Admission Df Sum Sq Mean Sq F value Pr(>F) Month 11 455.58 41.42 7.1285 5.076e−05 *** Moon 2 41.51 20.76 3.5726 0.04533 * Residuals 22 127.82 5.81 −−− Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 1
output R−PHP − http://r−php.homelinux.net 2
output R−PHP − http://r−php.homelinux.net [1] "Lot" "Cut" "Strength" > Lot [1] "1" "2" "3" "4" "5" > Cut [1] "Cross" "Length" Strength Lot Cut Lot.Cut Min. :0.4400 1:20 Cross :50 1:Cross :10 1st Qu.:0.6250 2:20 Length:50 1:Length:10 Median :0.8050 3:20 2:Cross :10 Mean :0.7841 4:20 2:Length:10 3rd Qu.:0.9025 5:20 3:Cross :10 Max. :1.3200 3:Length:10 (Other) :40 Analysis of Variance Table Response: Strength Df Sum Sq Mean Sq F value Pr(>F) Lot 4 2.79117 0.69779 70.2689
output R−PHP − http://r−php.homelinux.net 2
Puoi anche leggere