Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
58
Lucrarea practică 5
Indicaţii generale:
Aplicaţiile de calcul tabelar sunt astăzi instrumente puternice la dispoziţia
cercetătorilor. Nu doar calcule care în trecut necesitau eforturi mari şi consum de timp, dar
şi reprezentări grafice elaborate, pot fi obţinute astăzi cu uşurinţă. Aceasta va fi
exemplificat prin obţinerea coeficientului de corelaţie între două seturi de date şi a dreptei
de regresie, de asemenea prin realizarea rapidă a unei diagrame de tip structură radială
specială.
Bazele de date (BD) reprezintă colecţii organizate de informaţii despre diverse
subiecte. Ele sunt organizate în anumite structuri şi pot fi consultate şi modificate. Pentru a
construi o astfel de bază de date sunt necesare: a) un suport fizic pe care informaţiile să fie
stocate (unităţile de disc ale calculatorului), şi b) un soft de prelucrare a acestor date,
ansamblu numit generic SGBD = Sistem de Gestiune a Bazelor de Date.
Operaţiile ce se pot efectua asupra unei baze de date sunt:
– introducerea de elemente noi în BD (exemple: introducerea unui nou abonat în
agenda de telefoane; crearea unei fişe pentru un pacient nou);
– modificarea sau ştergerea datelor existente în baza de date (modificarea
numărului de telefon al unui abonat; completarea fişei pacientului în urma consultaţiei);
– reorganizarea BD după anumite criterii (aranjarea alfabetică a abonaţilor din
agenda telefonică; aranjarea alfabetică a fişelor pacienţilor);
– consultarea informaţiilor din baza de date (aflarea unui număr de telefon; citirea
datelor din fişa pacientului).
În această lucrare practică:
a) vă veţi reaminti principalele capabilităţi ale unei aplicaţii de calcul tabelar
(Microsoft Excel), şi anume cele de creare de diagrame şi cele de efectuare
rapidă de calcule statistice;
b) veţi aborda un prim exemplu de felul în care se formează opinii ştiinţifice,
bazate pe date puţine, şi de felul în care ele se pot valida „statistic”;
c) vă veţi familiariza cu exploatarea simultană a datelor depuse pe mai multe foi
de calcul;
d) veţi învăţa să controlaţi diagrame de tipul structură radială din structură
radială, cel mai „complicat” tip realizat de către Excel;
e) veţi crea un tabel de date, familiarizându-vă cu diversele tipuri de date;
f) veţi încerca vizualizarea datelor introduse şi modificarea lor;
Teme 22: controlul detaliat al diagramelor Excel
23: calculul intervalelor de încredere în Excel
24: structuri radiale în Excel
specială: coeficienţi de corelaţie în Excel
25: crearea tabelelor de date FoxPro
26: transferul de date între Excel şi FoxPro
Softul ce va fi utilizat în lucrarea practică:
Excel, Visual Fox Pro
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
59
Tema 22: controlul detaliat al diagramelor Excel
Cercetătorii unei firme farmaceutice au imaginat un unguent (bazat pe un compus chimic
nou) despre care cred că ar trebui să vindece mai rapid arsurile pielii. Unguentul a fost testat
în laborator pe un număr de 7 şoareci aleşi aleator dintre cei 16 de care dispunea laboratorul
pentru aceste teste. (Tuturor celor 16 şoareci li s-au provocat arsuri de piele, de gravităţi
echivalente.)
Pentru grupul celor 7 „trataţi” au fost constatate următoarele durate de vindecare (în zile):
9 4 3 19 10 2 14
Pentru grupul „de control” al celor 9 „netrataţi” au fost constatate următoarele durate de
vindecare (în zile):
5 2 4 10 5 3 14 3 5
Se poate afirma că tratamentul cu noul unguent grăbeşte vindecarea arsurii?
Să utilizăm aplicaţia Excel pentru a-i explora posibilităţile de a ne ajuta în a da
răspunsuri justificate la întrebări de tipul celei anterioare.
Veţi crea un fişier-carte de calcul denumit nume_UNGUENT.xls cu cel puţin o foaie de
calcul. Se recomandă ca diagramele să NU fie plasate peste celulele foii de calcul, ci în foi
separate!
Redenumiţi prima foaie de calcul „Arsuri” şi, în domeniul B2:B17, plasaţi – una sub alta
– cele 16 durate de vindecare. În celula B1 veţi plasa textul „Durata de vindecare (în zile)”,
iar în celula C1 textul „Grupul”.
Alăturat duratelor de vindecare, în domeniul C2:C17, plasaţi textele „tratament” sau
„control”, după caz.
Coloana A o veţi folosi pentru identificarea (numerotarea) cazurilor. Mai precis, în A1
veţi plasa textul „Individul nr.”, iar dedesubt veţi plasa – unul sub altul – numerele 1, 2, ...,
16. (Reamintiţi-vă cum se poate extinde, prin tragere de mâner, o progresie aritmetică.)
Poate că o reprezentare grafică a
datelor ne va fi de ajutor. Cu Excel
obţinem repede o asemenea reprezentare;
este suficient să selectăm domeniul
A1:B17 şi să apelăm comanda
Inserare→Diagramă.
Probabil că diagrama cea mai potrivită
pentru această situaţie este cea „cu bare
orizontale”. În etapele de control va trebui
să preluăm (în Clipboard) valorile
seriei „Individul nr.” – posibil prin
tastarea combinaţiei [Ctrl]+[C], apoi s-
o eliminăm, iar în final să plasăm acele
valori în caseta etichetelor axei X (prin
„lipire”) – a se vedea figura alăturată.
Recomandăm realizarea diagramei pe
o foaie separată, evitând amestecul între
grafică şi calcule pe aceeaşi foaie de
lucru. Denumiţi „16-1” foaia separată.
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
60
Durata de vindecare (în zile)
0 2 4 6 8 10 12 14 16 18 20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(zie)
control
tratament
Încercaţi modificarea culorilor în care sunt afişate barele, de exemplu în roşu pentru
primele 7 bare (cele de jos) şi în albastru pentru celelalte. Plasaţi de asemenea textele
„tratament” şi „control” colorate corespunzător, ca în figură.
Duplicaţi foaia pe care aţi depus diagrama, denumind „1-16” copia. Încercaţi, pe foaia
„1-16”, schimbarea ordinii de afişare a duratelor de vindecare (astfel încât barele orizontale
„tratament” să apară deasupra celor „control”.
Tema 23: calculul intervalelor de încredere în Excel
Compararea grafică, pe diagrame, este utilă atunci când vrem să transmitem rapid
informaţie privitorului, sau – cazul nostru – atunci când avem de-a face cu secvenţe lungi
de numere, care se „citesc” cu dificultate. Din punct de vedere statistic, ar trebui să
începem studiul nostru cu compararea mediilor celor două grupuri. Mediile se obţin uşor,
cu ajutorul funcţiei AVERAGE.
Este însă de preferat să începem prin a organiza datele comparative pe foaia de calcul. De
exemplu, să plasăm în celula F1 textul „Tratament”, în celula G1 textul „Control”, în celula
E2 textul „Număr cazuri” iar în celula E3 textul „Medii”.
Chiar dacă numărul de cazuri ne este cunoscut, recomandăm obţinerea sa cu ajutorul
funcţiei COUNTIF. Activând celula F2, apelaţi (comanda Inserare→ Funcţie) această
funcţie din categoria celor statistice. Are două argumente: domeniul datelor – care ar trebui
să fie C2:C17 – şi criteriul de selecţie, care ar trebui să fie secvenţa de caractere „tratament”.
Întrucât această valoare se află în câteva celule, printre care şi C2, al doilea argument ar
putea fi chiar C2.
Analog, celula G2 ar trebui să aibă drept conţinut formula
=COUNTIF(C2:C17,C17)
Pentru calculul mediei vom face apel la funcţia AVERAGE, şi ea din categoria funcţiilor
statistice. În celula F3 plasăm formula (!)
=AVERAGE(B2:B8)
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
61
iar în celula G3 formula analoagă.
După o formatare adecvată a acestor două celule, cerând afişarea cu 2 zecimale, ar trebui
să obţinem afişate valorile 8.71 respectiv 5.67.
Cercetătorii nu ar avea motive de optimism: în medie, durata de vindecare este mai mare
pentru indivizii trataţi cu unguent!
Situaţia de mai sus este excepţională, de regulă nu se întâmplă aşa, dar nu trebuie excluse
asemenea situaţii!
Copiaţi acum foaia „Arsuri” peste foaia a doua, pe care o veţi denumi „Corect”. Copierea
unei foi întregi se face de asemenea cu tehnica de copiere/lipire, iar selectarea prealabilă a
întregii foi se poate face prin „apăsarea” butonului de colţ (aflat în stânga butoanelor A, B,
C, ... care identifică coloanele şi deasupra butoanelor 1, 2, 3, ... care identifică rândurile).
Prin copiere/lipire au fost preluate toate formulele!
Înlocuiţi acum, în foaia „Corect”, datele din domeniul B2:B8 prin următoarele
5 4 3 5 8 2 6
De data aceasta durata medie de vindecare (pentru indivizii trataţi) este de 4.71 zile, iar
cercetătorii pot afirma că unguentul este eficace în vindecarea arsurilor.
Evident, această afirmaţie va fi făcută la modul general, dar ea este bazată pe doar câteva
cazuri constatate în laborator! Care sunt riscurile acceptării acestei afirmaţii ca fiind
„adevărată la modul general”?
Statistica ne învaţă să enunţăm afirmaţii de forma: „durata medie de vindecare la
indivizii trataţi este semnificativ mai mică decât la indivizii netrataţi”. Dar când oare
suntem îndreptăţiţi să facem asemenea afirmaţii?
Excel ne permite să calculăm rapid ingredientele necesare justificării unor asemenea
afirmaţii. Conform teoriei, ar trebui să obţinem erorile standard ale celor două medii, să
identificăm intervalele de încredere (95%) şi să constatăm că cele două intervale sunt
disjuncte.
Obţinerea erorii standard a unei medii necesită mai multe calcule. Eroarea standard nu
se obţine direct, ci prin intermediul abaterii standard, care în Excel este dată de funcţia
STDEV. Formula este simplă:
eroarea standard = abaterea standard / (numărul de indivizi)
Odată obţinută eroarea standard a mediei, intervalul de încredere 95% pentru medie va
fi:
media – eroarea standard * 1.96, media + eroarea standard * 1.96.
Aşadar, avem nevoie de medii (obţinute cu AVERAGE), de abateri standard (obţinute
cu STDEV), şi de numărul de indivizi (obţinut cu COUNTIF).
Să organizăm calculele în felul următor: în celula E4 să plasăm textul „Abateri standard”,
în celula E5 textul „Erori standard”, în E6 textul „Extr. stângă” iar în E7 textul „Extr.
dreaptă”.
Formulele de calcul pe care le vom introduce în coloana F vor fi, respectiv,
=STDEV(B2:B8)
=F4/SQRT(F2)
=F3–F5*1.96
=F3+F5*1.96
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
62
În coloana G vom introduce formulele corespunzătoare datelor „de control”, care au fost
plasate în domeniul B9:B17.
Ar trebui să obţineţi intervalele de încredere [3.25, 6.18] respectiv [3.14, 8.20]. Ele nu
sunt disjuncte, astfel că statistica nu justifică deloc afirmaţia cercetătorilor!
Este momentul să atragem atenţia asupra unui aspect extrem de important: duratele de
vindecare nu ar trebui apreciate „în medie”, întrucât un singur caz „aberant de lung” ar
putea schimba în mod esenţial concluziile. Dimpotrivă, aprecierea ar trebui să fie făcută
după mediane!
Plasaţi în celula E8 textul „Mediane”, apoi în dreapta formulele de calcul, făcând apel la
funcţia MEDIAN. Ar trebui să obţineţi, pentru ambele grupuri, mediana 5. Aceasta ar trebui
să constituie un semnal de alarmă privind incorectitudinea afirmaţiei cercetătorilor!
Preluaţi în foaia a treia, prin copiere/lipire, conţinutul foii „Corect”. Redenumiţi foaia a
treia „Ultima” şi, pe ea, efectuaţi următoarele modificări. Schimbaţi conţinutul domeniului
B8:B17 în următorul:
5 7 6 11 6 9 14 6 10
Ar trebui să constataţi că mediile se modifică sensibil, şi că intervalele de încredere 95%
devin [3.25, 6.18] respectiv [6.27, 10.18].
Se observă că cele două intervale de încredere sunt disjuncte, prin urmare – pe aceste
date – putem accepta – cu încredere 95% – ca adevărată afirmaţia cercetătorilor (sau a firmei
de medicamente).
Constatăm şi că medianele diferă în mod esenţial şi, reamintim, acestea ar trebui să fie
luate în consideraţie în aprecierea validităţii afirmaţiei cercetătorilor. Ar fi de dorit să
dispunem de intervale de încredere 95% pentru cele două mediane. Din păcate, Excel nu
ne poate ajuta în obţinerea acestor intervale de încredere; este nevoie de soft statistic
specializat, care eventual să exploateze metode speciale cum ar fi tehnicile bootstrap.
Salvaţi în această formă cartea de calcul Excel, cu cele trei foi de calcul şi două
„grafice”.
Tema 24: structuri radiale în Excel
În cadrul unei investigaţii mai largi au fost examinaţi un număr de 200 elevi (în vârstă de
10-18 ani), măsurându-li-se înălţimea (în cm), greutatea (în kg), circumferinţa bustului (în
cm). De asemenea, a fost înregistrată vârsta lor, sexul şi localizarea durerii lombare, în caz
că s-a constatat prezenţa acesteia.
Datele înregistrate pot fi găsite în fişierul LP05_1.xls. Preluaţi acest fişier din site-ul
catedrei. (Atenţie, NU deschideţi direct fişierul din site! Preluaţi O COPIE A SA, apoi
lucraţi cu copia.)
Ar trebui să identificaţi o singură foaie denumită „Lombar” şi, în ea, următoarele
coloane: Cod, Numpre, Varsta, Sex, Durere lombara, Inaltime, Greutate, Bust.
Inseraţi (cu comanda InserareFoaie de calcul) o nouă foaie, pe care o denumiţi
„Frecvenţe”. În ea, în celula A2 plasaţi textul „in punct fix”, în celula A3 plasaţi textul
„iradiata” iar în celula A4 textul „nesistematizata”. (NU TASTAŢI ACESTE TEXTE! Se
recomandă ca acestea să fie plasate prin copiere/lipire din celule ale foii iniţiale în care se
află asemenea texte.)
Să ne amintim că am folosit funcţia COUNTIF care „numără” apariţiile aceleiaşi
secvenţe de caractere într-un domeniu. (Face parte din categoria funcţiilor statistice.)
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
63
Este foarte important să aflaţi despre posibilităţile de lucru cu datele aflate pe mai multe
foi de calcul. Identificatorul unei celule (sau al unui domeniu) care se află pe altă foaie se
crează din numele foii terminat cu caracterul „!” (semnul exclamării) urmat de identificatorul
celulei (domeniului). Introduceţi în celula B2 formula:
=COUNTIF(Lombar!E$2:E$201,A2)
Este clar că funcţia va număra apariţiile valorii celulei A2 (în cazul nostru secvenţa „in
punct fix”) în domeniul E2:E201 de pe foaia „Lombar”. Reamintim că „$” are rolul de a fixa
identificatorul de rând sau de coloană pe care-l precede. Acest lucru este extrem de util
atunci când facem extinderi sau copieri de formule.
Trăgând de mânerul celulei B2, vom putea extinde cu uşurinţă formula la domeniul
B2:B4.
Să plasăm în celula A1 textul „Fără”, iar în celula B1 formula
=COUNTA(Lombar!E$2:E$201)–SUM(B2:B4) care permite calculul imediat al numărului de subiecţi la care nu s-a constatat durere
lombară.
Cu datele din domeniul A1:B4 să creăm o diagramă de tipul Structură radială din
structură radială. După selectarea domeniului apelăm comanda InserareDiagramă şi ne
asigurăm că alegem tipul „Structură radială” subtipul „Structură radială din structură
radială”. Declaraţi ca titlu „Distribuţia durerii lombare în lotul studiat” şi plasaţi în final
diagrama pe o foaie separată (distinctă de foile de calcul!)
Veţi acţiona acum asupra componentelor grafice ale foii-diagramă.
Cu un clic-dreapta deasupra unui sector colorat puteţi intra în caseta de dialog Formatare
serie de date. Acţionaţi în tableta Opţiuni, alegând valoarea „3” pentru Supr. secundară
conţine ultimele ... valori. Încercaţi controlul mărimii rozetelor şi spaţiului dintre ele, prin
stabilirea la 120 a mărimii rozetei din dreapta (Dimensiunea secundară; cea din stânga are
mărimea standard de 100) şi la 75 a distanţei dintre rozete (Lăţime spaţiu liber).
De asemenea, în tableta Etichete de date activaţi două dintre casetele de validare din
grupul Eticheta de date, şi anume „Afişare etichetă” şi „Afişare valoare”. Veţi observa că în
dreptul sectoarelor de cerc apar inscripţiile din domeniul A1:A4, cu excepţia inscripţiei
„None, 68”. Prin dublu-clic deasupra acesteia încercaţi să preluaţi controlul ei şi să eliminaţi
textul nedorit, rămânând numai „68”.
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
64
Prin clic, clic-dreapta sau dublu-clic deasupra câte unui sector încercaţi să preluaţi
controlul colorării sectorului respectiv. Încercaţi să determinaţi aplicarea unor efecte de
umplere. (Ar trebui să acţionaţi în caseta de dialog Formatare puncte de date, tableta
Modele, grupul Suprafaţa, prin apăsarea butonului Efecte de umplere.) Atenţie, nu încercaţi
acest lucru în caseta de dialog Formatare serie de date, întrucât veţi determina
nediferenţierea sectoarelor. Nu uitaţi: în cazul unei erori sau obţinerii unui efect nedorit,
reveniţi la situaţia anterioară prin comanda EditareRevenire.
Plasaţi acum în celula D1 a foii „Frecvenţe” textul „Separatori”, iar în domeniul D2:D7
numerele 140, 150, 160, 170, 180, 190. În celula E1 plasaţi textul „Frecvenţe”, iar în celula
E2 formula
=FREQUENCY(Lombar!F2:F201,D2:D7)
Selectaţi acum domeniul E2:E8, plasaţi cu un clic un punct de inserare pe bara formulei,
apoi tastaţi [Ctrl]+[Shift]+[Enter]. În acest fel se obţin dintr-o singură mişcare toate
frecvenţele (absolute) ale înălţimilor indivizilor din eşantion, conform valorilor de separare
alese (din 10 în 10 centimetri).
Selectând acum domeniul D1:E8, încercaţi să realizaţi o diagramă a frecvenţelor. Care
este tipul adecvat şi ce titlu ar trebui să poarte diagrama?
Redenumiţi nume_SONDAJ.xls cartea de calcul conţinând cele două foi de calcul şi
două foi cu diagrame. Încercaţi salvarea sub formă de pagină web, pregătind-o pentru
inserare în site-ul d-voastră.
Tema specială: coeficienţi de corelaţie în Excel
Dorim să aflăm dacă pe datele eşantionului de 200 de subiecţi se confirmă legătura (de
dependenţă liniară) între înălţime şi bust. Pentru aceasta avem două căi:
a) Interpretarea coeficientului de corelaţie între seria de date „Inaltime” şi seria de date
„Bust”. Pe această cale vom calcula, de exemplu în celula I1, coeficientul de corelaţie prin
formula:
=CORREL(F2:F201,H2:H201)
Valoarea pe care o obţinem, de aproximativ 0.73, se situează la limita între „corelare” şi
„necorelare”. Nu putem afirma că înălţimea subiecţilor (şi, prin extensie, a tinerilor în
ansamblu) este corelată cu circumferinţa bustului.
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
65
b) Întocmirea unei diagrame de tipul X-Y (Prin puncte) şi plasarea pe ea a liniei de
tendinţă liniară şi a ecuaţiei dreptei de regresie, împreună cu coeficientul de
determinaţie.Adoptând această cale, vom selecta domeniul F1:F201;H1:H201 (selectarea
trebuie făcută cu atenţie, folosind tasta [Ctrl]), după care vom efectua reprezentarea grafică a
datelor – evident, pe o foaie separată. Apelând apoi comanda DiagramăAdăugare linie
de tendinţă vom fi atenţi la „bifarea” opţiunilor Afişare ecuaţie în diagramă şi Afişare
abatere medie pătratică în diagramă. (Atenţie, ultima opţiune are o denumire total greşită.
Veţi învăţa că denumirea corectă a lui R2 este „coeficientul de determinaţie”.)
Evident, a doua cale este de preferat, întrucât putem evalua mult mai bine datele de care
dispunem. Astfel, pe diagrama X-Y se identifică cu uşurinţă un „punct aberant” (outlier) – a
se vedea figura. Este posibil ca acesta să apară dintr-o eroare de introducere de date, dar este
posibil ca el să corespundă unui individ „excepţional”. În ultima situaţie, se recomandă ca
acest individ să fie identificat şi studiat în mod special. Prin sortare descrescătoare (comanda
DateSortare), după coloana „Bust”, a datelor foii de calcul se identifică acst individ: este
vorba despre codul 65, vârsta 13 ani, sexul feminin şi iniţialele „VOBI”. Dacă datele sale –
ce nu par credibile prin comparaţie cu celelalte – nu pot fi confirmate, atunci această
înregistrare va trebui eliminată!
Să presupunem că o eliminăm, rămânând în foaia de calcul „Corelatii” doar 199 de
înregistrări. Coeficientul de corelaţie se va modifica în aproximativ 0.87, ceea ce ne va
permite să afirmăm că datele eşantionului confirmă o oarecare corelaţie (liniară) – dar nu
puternică – între înălţime şi circumferinţa bustului la adolescenţi. În diagramă vom obţine
coeficientul de determinaţie R2 aproximativ 0.76, ceea ce conduce la aceeaşi concluzie.
(Care este legătura dintre cei doi coeficienţi?)
Calculaţi, în celula J1, coeficientul de corelaţie între înălţimea şi greutatea indivizilor
eşantionului. Efectuaţi şi reprezentarea grafică a dependenţei X-Y între aceste două seturi de
valori, împreună cu afişarea ecuaţiei liniei de tendinţă (adică a dreptei de regresie). De
asemenea, în urma unei sortări după coloana „Sex”, alăturaţi înregistrările ce corespund
băieţilor respectiv fetelor şi calculaţi ambii coeficienţi de corelaţie între înălţime şi
circumferinţa bustului. Care dintre sexe prezintă variabilitatea mai mare?
Pentru a obţine diagrame mai interesante, cu afişarea simultană a liniilor de tendinţă
pentru cele două sexe, efectuaţi următoarele operaţiuni:
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
66
a) copierea foii de calcul „Lombar” într-o carte de calcul nouă, denumită nume_CORR;
b) sortarea datelor de pe noua foaie „Lombar” după valorile coloanei „SEX”;
c) inserarea unei coloane noi între coloanele G („GREUTATE”) şi H („BUST”) şi
plasarea în celula H1 a textului „GREUTATE F”;
d) modificarea textului din celula G1 în „GREUTATE M”;
e) mutarea datelor de pe coloana G corespunzătoare sexului feminin pe coloana H
(posibila mutare a domeniului G104:G201 în H104:H201);
f) selectarea coloanelor F, G şi H;
g) inserarea unei diagrame de tipul X-Y pe o foaie nouă şi redenumirea foii în „separat”;
h) inserarea în diagramă a liniilor de tendinţă.
Încercaţi obţinerea şi a diagramei corespunzătoare variabilelor „INALTIME” şi „BUST”,
înainte de a salva definitiv fişierul nume_CORR. Ce comentarii aţi putea face?
(Notă. Pentru explicaţii şi comentarii în documente este nevoie şi de calculul
coeficienţilor de determinaţie şi de obţinerea ecuaţiilor de regresie.)
Tema 25. crearea tabelelor de date FoxPro
Lansaţi aplicaţia FoxPro. Pentru aceasta, căutaţi pe ecran iconiţa de startare a FoxPro-
ului . Faceţi cu mausul dublu clic pe aceasta. O altă cale pentru lansarea aplicaţiei
este apăsarea butonului Start, apoi Programs, apoi Microsoft Visual FoxPro.
Comenzile în aplicaţia FoxPro se
pot da fie folosind bara de meniuri din
partea superioară a ecranului, fie prin
intermediul ferestrei de comenzi
(Command). Această fereastră se deschide
cu comanda Command Window din
meniul Window.
Creaţi un tabel de date cu ajutorul
meniului File, comanda New sau cu
ajutorul combinaţiei de taste [Ctrl]+[N]. Pe
ecran apare caseta de dialog New.
Selectaţi Table în butonul radio File type şi apoi apăsaţi butonul New file. În caseta
de dialog Create salvaţi (Save in) tabelul de date în dosarul Anul2. Daţi numele
nume_INTERNATI tabelului de date în zona Enter table, asiguraţi-vă că tipul fişierului
este „Table/DBF” şi apoi apăsaţi butonul Save.
Puteţi crea un tabel de date tastând în fereastra de comenzi comanda: CREATE nume_INTERNATI
dar în acest caz trebuie să controlaţi dosarul în care va fi salvat tabelul de date cu ajutorul
unei comenzi de tipul CURDIR="C:\Anul2"
dată în prealabil în fereastra de comenzi (pentru că altfel aplicaţia FoxPro va depune fişierul
în directorul curent implicit). Evident, se poate comanda direct: CREATE C:\Anul2\nume_INTERNATI
În continuare pe ecran apare o casetă de dialog Table Designer, în care se va preciza
structura tabelului de date, adică:
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
67
1) numele pentru fiecare câmp (Name);
2) tipul de date stocate în câmpul respectiv (Type),
3) lăţimea sau numărul maxim de caractere rezervat pentru fiecare câmp (Width),
eventual şi
4) numărul de zecimale (Dec) – zonă care este activată numai pentru tipurile
Numeric şi Float.
Ca exemplu vom crea un tabel de date ce conţine unele informaţii despre pacienţii
internaţi într-un spital şi anume: numele, data internării, sexul şi vârsta. Ulterior veţi
completa acest tabel cu alte câmpuri.
Mai întâi, în coloana Name tastaţi Numepren după care apăsaţi [Tab].
Este activată imediat o listă derulantă în poziţia Type, iar tipul se poate selecta fie
folosind tasta [Space] şi săgeţile, fie folosind mausul. Pentru câmpul Numepren lăsaţi
Character ca tip al valorilor, iar în coloana Width tastaţi 17.
Aţi creat astfel un câmp numit Numepren în care veţi putea stoca şiruri de (cel mult)
17 caractere. Lăţimea maximă pentru câmpurile de tip Character este 254.
Al doilea câmp îl veţi numi
Data_inter şi va conţine data
internării pacienţilor. Va fi de tip
Date, adică dată calendaristică, şi va
avea lungimea stabilită automat la 8
caractere. Puteţi selecta mai rapid
tipul Date tasând [D] în coloana
Type.
Încercaţi să creaţi un al
treilea câmp cu numele
Numeprealung, apoi cu numele
Doua cuvinte. Nu veţi reuşi.
Numele unui câmp este constituit
dintr-un singur cuvânt, dar nu poate
depăşi 10 caractere! Se poate folosi,
la nevoie, caracterul „_” (under-
score). De exemplu Data_inter.
Pentru a înregistra sexul pacienţilor veţi rezerva un câmp de tip Logical cu
lungimea prestabilită de 1 caracter. Datele înregistrate aici sunt de tip logic: T (True) şi F
(False). Numim acest al treilea câmp Sex_masc şi vom plasa în el valoarea T pentru
bărbaţi, respectiv F pentru femei.
Pentru vârsta pacienţilor creaţi al patrulea câmp, acesta de tip Numeric, cu lăţimea
de două cifre, fără zecimale, denumit Varsta.
Selecţia se poate face şi cu tasta [Tab] pentru a parcurge în ordine toate
componentele casetei de dialog, sau cu combinaţia de taste [Shift]+[Tab] pentru a le
parcurge în ordine inversă.
Ieşiţi din caseta de dialog Table Designer apăsând butonul OK. Pentru a începe
introducerea datelor în baza de date a cărei structură aţi precizat-o în caseta de dialog
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
68
Table Designer
răspundeţi Yes la întrebarea
afişată:
Input data records
now?
Aplicaţia FoxPro va
deschide o nouă fereastră ce vă
permite introducerea valorilor
pentru fiecare câmp.
(Dacă fereastra nu are aspectul din figura de mai sus, comandaţi ViewEdit.)
În zonele rezervate introduceţi valorile câmpurilor pentru prima înregistrare (primul
pacient): Numepren = Popescu Ion, Data_inter = 01/06/2001 (formatul datei calendaristice
este lună/zi/an), Sex_masc = T, Varsta = 48. De la un câmp la altul se trece tastând [Enter]
sau tastele săgeţi. După tastarea ultimei valori a înregistrării se permite introducerea datelor
pentru a doua înregistrare.
Introduceţi date pentru alţi zece (!) pacienţi.
La înregistrarea cu numărul cinci, în câmpul Numepren încercaţi să introduceţi, de
exemplu, Constantinescu Alexandru. Observaţi că se reţin doar primele 17 caractere ale
numelui şi prenumelui. (De ce?)
(Dacă fereastra nu are aspectul din figura de mai sus, comandaţi ViewEdit.)
În zonele rezervate introduceţi valorile câmpurilor pentru prima înregistrare
(primul pacient): Numepren = Popescu Ion, Data_inter = 01/06/2001 (formatul datei
calendaristice este lună/zi/an), Sex_masc = T, Varsta = 48. De la un câmp la altul se trece
tastând [Enter] sau tastele săgeţi. După tastarea ultimei valori a înregistrării se permite
introducerea datelor pentru a doua înregistrare.
Introduceţi date pentru alţi zece (!) pacienţi.
La înregistrarea cu numărul cinci, în câmpul Numepren încercaţi să introduceţi, de
exemplu, Constantinescu Alexandru. Observaţi că se reţin doar primele 17 caractere ale
numelui şi prenumelui. (De ce?)
Se simte nevoia unei redimensionări. Pentru modificarea structurii unui tabel de
date reveniţi în fereastra de comandă cu ajutorul meniului Window. Structura unui tabel
de date se poate modifica fie folosind comanda: MODIFY STRUCTURE
(în formă prescurtată: MODI STRU), fie alegând comanda Table Designer din meniul
View (ceea ce se recomandă), fie opţiunea Properties din meniul Table, apăsând apoi
butonul Modify. Pe ecran apare aceeaşi fereastră Table Designer. Puteţi foarte uşor să
modificaţi lungimea câmpului Numepren în aşa fel încât să fie permisă introducerea unor
nume mai lungi (de exemplu de maxim 30 caractere).
Puteţi, de asemenea, să introduceţi un câmp nou în tabelul de date. Introducerea
unui câmp nou se va face înaintea câmpului curent. Plasaţi cursorul pe câmpul Sex_masc.
Apăsând [Insert] veţi insera un câmp nou între câmpurile Data_inter şi Sex_masc.
Denumiţi acest câmp Diagext, precizaţi-i tipul Character şi lăţimea de 150 de caractere.
În acest câmp veţi stoca diagnosticul la externare pentru fiecărui pacient. Dacă lăţimea nu
e suficientă, o puteţi mări până la 254 de caractere sau puteţi folosi mai multe câmpuri
consecutive de tip Character pentru diagnostic. (A treia posibilitate, anume folosirea unor
câmpuri de tip Memo, o vom trata ulterior.) Apăsaţi butonul OK şi se va deschide o nouă
casetă de dialog ce conţine întrebarea:
UMF “Carol Davila” – Informatică Medicală şi Biostatistică MG - Lucrarea practică 5 2012/2013
69
Make structure changes permanent? Răspundeţi
afirmativ.
(Apasarea tastei
[Y] înseamnă
„yes”.)
Conţinutul tabelului de date creat poate fi oricând consultat folosind fie comanda
BROWSE în fereastra de comenzi, fie opţiunea Browse din meniul View. (Câmpul Diagext a
fost micşorat intenţionat pentru a putea fi vizualizat întregul tabel.)
Creaţi un nou tabel care să aibă o structură similară, dar mai simplă; de exemplu să
nu conţină câmpurile Varsta şi Sex_masc, locul lor fiind ocupat de câmpul Cnp (de tip
Character, cu lăţimea 13) iar numele să fie nume_SIMILAR. Introduceţi date pentru alţi
câţiva (cel puţin zece) pacienţi în noul tabel de date.
Închideţi toate tabelele de date cu care aţi lucrat până acum, folosind în acest scop
fereastra de comenzi şi dând comanda: CLOSE ALL
Pentru a folosi un tabel de date creat anterior, acesta trebuie deschis într-o zonă de
lucru. Pentru aceasta folosiţi comanda: USE nume_SIMILAR
sau puteţi folosi bara de meniuri alegeţi opţiunea Open din meniul File.
Putem prelua datele corespunzătoare a două câmpuri din tabelul de date
nume_INTERNATI în tabelul de date curent, folosind comanda: APPEND FROM nume_INTERNATI FIELDS Numepren,Diagext
Folosind comanda BROWSE în fereastra de comenzi puteţi observa că
nume_SIMILAR conţine acum mai multe înregistrări.
Părăsiţi aplicaţia FoxPro cu comanda QUIT dată în fereastra de comenzi sau cu
opţiunea Exit din meniul File.
Tema 26: transferul de date între Excel şi FoxPro
Veţi studia acum posibilităţile de transfer de date între aplicaţiile Excel şi FoxPro.
Întrucât ambele au fost create de aceeaşi firmă (Microsoft), transferul ar trebui să fie facil,
fără să ridice probleme deosebite. Şi totuşi…
Preluaţi din prin ftp fişierul LP05_2.xls. Conţinutul acestui spreadsheet este simplu:
o singură foaie de calcul, creată de aplicaţia Excel. Dacă veţi încerca să-l deschideţi
(FileOpen) cu FoxPro, veţi constata că acest lucru nu este posibil, extensia XLS
nefigurând în lista Files of type a extensiilor acceptate de această aplicaţie. Observăm însă o
altă comandă, anume Import, în meniul File. Aparent această comandă ar trebui să rezolve
problema, după ce declarăm parametrii de control pentru acest „import” de date. Apare însă
o uşoară abatere de la standarde: în urma importului, prima linie a tabelului de date va
conţine nu prima înregistrare, ci – exact aşa cum este în foaia de calcul Excel – denumirile
câmpurilor; vom fi obligaţi să o eliminăm şi să procedăm la o redenumire a câmpurilor.
MG - Lucrarea practică 5 2012/2013 UMF “Carol Davila” – Informatică Medicală şi Biostatistică
70
Toată această neregulă poate fi evitată dacă procedăm „invers”. Mai precis, în loc de
a importa fişierul tip xls cu FoxPro, îl vom prelua cu Excel şi-l vom salva ca fişier de tipul
„DBF 4 (dBASE IV)”. Vom obţine un fişier cu extensia dbf (DataBase File).
Efectuaţi această operaţiune, apoi închideţi aplicaţia Excel şi preluaţi fişierul
LP05_1.dbf cu FoxPro.
Încercând vizualizarea conţinutului său (View Browse) veţi constata preluarea
corectă a datelor. Singurele modificări apar în denumirile câmpurilor, pentru a fi respectate
condiţiile standard: caracterele nepermise blanc şi punct au fost înlocuite prin „_”, de
asemenea a avut loc trunchierea la 10 caractere.
Salvaţi în acest ultim fişier dbf, stabilindu-i numele nume_CONVERSIE, dar numai
după ce i-aţi adăugat o înregistrare nouă.
Puteţi încerca să realizaţi un tabel de date care să conţină informaţii dintr-o agendă
personală (numele şi prenumele, adresa, numărul de telefon, etc.). Salvaţi această agendă
într-un tabel de date cu numele nume_AGENDA.
Observaţi că în dosarul în care aţi depus tabelul de date a apărut, alături de fişierul
nume_INTERNATI (.dbf) un alt fişier cu acelaşi nume, dar cu extensia BAK. Este de fapt
forma veche a primului fişier-tabel pe care l-aţi creat; în momentul în care conţinutul i-a fost
modificat, aplicaţia FoxPro a creat automat copia de salvare (backup). Evitaţi să transferaţi
în căminul d-voastră, de acum înainte, fişierele cu extensia BAK (dacă nu aveţi motive
speciale s-o faceţi).
Deoarece bazele de date sunt, în general, foarte importante pentru mulţi utilizatori
este bine ca ele să fie protejate. O modalitate o constituie protecţia oferită de sistemul de
operare Windows. Selectaţi cu mausul unul dintre tabelele de date create şi apăsaţi butonul
drept al mausului. În meniul deschis pe ecran alegeţi opţiunea Properties. În zona
Attributes activaţi atributul Read-only.
Apăsaţi butonul Apply şi apoi OK. Obişnuiţi-vă să vă protejaţi şi în acest fel toate
bazele de date!
În sfârşit, creaţi două tabele de date în care să fie înregistrate date despre medici.
Primul tabel, denumit nume_SPECIALITATI, va avea drept câmpuri Cod (de tipul
Numeric, lăţime 3 cu 0 zecimale) şi Denumire (tip Character de lăţime 50). Introduceţi cel
puţin zece înregistrări: (1, Chirurgie toracica), (2, Cardiologie), (3, Reumatologie), (4,
Neurologie), (5, Oftalmologie), …
Al doilea tabel, denumit nume_MEDICI, va avea drept câmpuri Nume, Prenume
(ambele de tip Character de lăţime 30), Cnp, Telefon (ambele de tip Character de lăţime 13),
Note (de tipul Memo) şi Codspec (de tipul Numeric, lăţime 3 cu 0 zecimale). Introduceţi
câteva înregistrări. În câmpul Note plasaţi o caracterizare a activităţii medicului, cu detalii,
iar în câmpul Codspec plasaţi codul specializării sale (presupunând că un medic poate avea
o singură specializare).