Statistici în spss în afara interfeței butonului

Bună ziua, dragi abonați!

Permiteți-mi să vă reamintesc că aplicația pentru "Referința de sintaxă SPSS" continuă. Anunțul acestui proiect este disponibil în numărul 14 al listei de discuții.

Valori medii pentru mai multe variabile

Astăzi vom analiza situații destul de specifice pentru calcularea valorilor medii (media valorii observării) în mai multe variabile. Sintaxa din colecția lui Reinal "Calculați media peste variabilele m, unde m este luată de la o altă variabilă.SPS", ne va ajuta în acest sens. Acest exemplu ne va arăta încă o dată capabilitățile flexibile de gestionare a datelor încorporate în limbajul de comandă SPSS.

Definiți datele din exemplu. Vom avea un gmplans variabile auxiliare (scopul său va deveni clar mai târziu), și - 4 variabile fpr_iy1 - fpr_iy4, pe care îl definim în comanda DATA LIST prin cuvântul cheie „TO“. Suntem interesați în calculul valorii medii (media aritmetică) a acestor patru variabile pentru fiecare caz în parte. Dar această sarcină va fi formulată de fiecare dată cu unele variații.

Vă rugăm să rețineți că echipa DATA LIST variabila de tip explicit este setată, dar în mod implicit acestea să fie tip de format F8.2 format numeric - un format de afișare standard a variabilelor numerice. comanda fișierului nou poate fi omisă, dar, pe de altă parte, este util în cazul în care experimentele anterioare eșuate a lăsat o serie de „agățat“ transformări în așteptare care nu pot fi chiar anulate.

DATE LIST LIST / gmplans fpr_iy1 TO fpr_iy4.

ÎNCEPE DATE
1 4 3 2 1
2 4 3 2 1
3 4 3 2 1
4 4 3 2 1
0 4 3 2 1
2 4 5 m 6
1 1 m m

Ultimele două observații introduse prin comanda BEGIN DATA-END DATA au valori lipsă. Acestea sunt indicate prin literele "m". Prezența datelor de text pentru formatul numărul variabilelor nu se va confunda SPSS - pentru fiecare ocazie el ne va da un avertisment în fereastra de rezultate, există o încercare de a atribui valoarea de text a unei variabile numerice. Rezultatul fiecărei astfel de încercări va fi o valoare lipsă în variabila corespunzătoare. De fapt, aceasta este ceea ce am încercat să realizăm.

Să analizăm acum variante diferite de calcul al medierii valorilor variabilelor fpr_iy1 - fpr_iy4.

1. Valori medii "simple"

Pentru sarcini similare în SPSS, există o funcție MEAN, argumentele cărora sunt valori numerice specifice sau numele variabilelor pe care aceste valori le conțin. Numele pot fi specificate prin virgule sau prin cuvântul cheie "TO". Argumentele pentru funcția MEAN ele însele pot fi și alte funcții. Să luăm în considerare câteva exemple. În primul rând, este important să înțelegeți: funcția MEAN nu calculează valoarea medie a oricărei variabile "pe coloană". Ea medie pentru fiecare caz valorile variabilelor și numerele specifice care sunt conținute în argumentele MEAN. Același lucru, apropo, este valabil și pentru multe alte funcții - SUM, MIN, MAX. expresie


nu substituie valoarea medie a variabilei fpr_iy2 în variabila aver pentru întreaga bază de date, ci pur și simplu. va copia valoarea acestei variabile pentru fiecare caz. Valorile lipsă sunt ignorate. Încă o dată, funcția MEAN medie valorile individuale ale argumentelor sale pentru fiecare obiect. În acest sens, echipa de mai sus este echivalentă cu

Un exemplu de utilizare mai precisă a MEAN:

COMPUTE aver = MEAN (fpr_iy1, fpr_iy2).


În acest caz, valorile individuale ale variabilelor fpr_iy1 și fpr_iy2 sunt medii pentru fiecare obiect. Rețineți că variabila care conține valoarea lipsă este pur și simplu exclusă din calcul. Dar acest lucru nu duce la excluderea automată a calculului întregii observații. Pentru ultima observație în acest exemplu, rezultatul aplicării acestei funcții va fi „1“, care este singura valoare non-lipsă (a fpr_iy1 variabilă). Desigur, numitorul în calculul mediei aritmetice nu este numărul total de argumente pentru funcția MEAN, ci numărul de argumente cu valori neasociate. O caracteristică similară a multor funcții este excluderea nedureroasă a valorilor lipsă fiind foarte utilă dacă prezența unei insigne nu înseamnă o eroare. Rețineți că rezultatul comenzii anterioare va diferi pentru ultima observație de rezultatul expresiei următoare:

Dacă doriți să calculați media pe un număr mare de variabile, puteți utiliza cuvântul cheie "TO".

COMPUTE aver = MEAN (fpr_iy1 până la fpr_iy4).


Aici am folosit comanda LIST pentru a aplica calcule în așteptare. Acesta afișează imediat rezultatul calculelor în fereastra de ieșire.

Utilizarea "TO" și introducerea argumentelor prin virgulă pot fi ușor combinate. Aici, într-un sens, un exemplu gol din punct de vedere practic al unui astfel de calcul:

COMPUTE aver = MEAN (fpr_iy1, fpr_iy1 până la fpr_iy4, 3).


Aici am luat de două ori în considerare valoarea variabilei fpr_iy1 și am adăugat constanta "3".

Dacă argumentele sunt specificate cu virgulă, puteți înlocui alte funcții în locul lor. Următorul exemplu găsește pătratul mediu al valorilor variabilelor fpr_iy1 și fpr_iy2:

COMPUTE aver = MEAN (fpr_iy1 ** 2, fpr_iy2 ** 2).

Cu toate acestea, încercarea de a utiliza funcții în combinație cu cuvântul cheie "TO" nu va funcționa. Programul vă va spune că nu puteți face acest lucru și refuzați să numărați:

COMPUTE aver = MEAN (fpr_iy1 ** 2 până la fpr_iy2 ** 2).

2. Valorile medii cu numărul minim necesar de argumente

Dacă utilizați funcția MEAN, ale cărei argumente sunt numele mai multor variabile, pentru multe dintre care valorile lipsă nu sunt neobișnuite, puteți specifica ce număr minim de argumente valide este valabil:

COMPUTE aver = MEAN.2 (de la fpr_iy1 la fpr_iy4).

În acest caz, am solicitat ca valoarea medie să fie luată în considerare numai dacă există cel puțin 2 valori lipsă. Pentru ultima observație, programul nu va calcula valoarea medie.

3. Valoarea medie pentru un număr variabil de argumente (de fapt un exemplu de sintaxă din colecție)

Sintaxa oferă o soluție pentru o problemă foarte interesantă. Dacă aveți, de exemplu, 4 variabile, ca în acest caz, poate fi necesar să calculați valoarea medie pentru fiecare observație numai pentru m, m = prima dintre aceste variabile. Mai mult, m pentru fiecare observație proprie (m = 0 înseamnă refuzul de a calcula valoarea medie).

În practică, o situație similară poate apărea, de exemplu, atunci când variabilele fpr_iy1 - fpr_iy4 conțin anumiți indicatori pentru 4 perioade de timp, în ordinea crescătoare a prescripției. Pentru fiecare dintre perioadele m de observații înapoi pentru a schimba modul de formare a valorilor acestor parametri (de exemplu, clientul folosește o reducere specială, care ar putea afecta volumul de comenzi timp de 3 luni). Trebuie să cunoaștem valoarea medie a acestor indicatori pentru fiecare observație, nu pentru toate cele patru perioade, ci numai pentru m indicat.

În acest exemplu, m este luat din variabila gmplans. De exemplu, pentru cea de-a doua observație (gmplans = 2), avem nevoie de o valoare medie pentru primele două variabile, adică în ceea ce privește variabilele fpr_iy1 și fpr_iy2.

Variabilele create mai devreme ar trebui eliminate:

DELETE VARIABLE aver aver1.

Declare temporar variabilele inițiale ca vector. Aceasta ne va permite să ne referim la ele în forma v1 (1) - aceasta va însemna o trimitere la prima variabilă din vectorul, fpr_iy1. Definiția vectorului va exista în memoria mașinii până la prima trecere prin date (înainte de comanda pentru a începe calculele în așteptare).

VECTOR v1 = fpr_iy1 TO fpr_iy4.

Definiți ciclul LOOP. Deoarece acest ciclu este efectuat separat pentru fiecare observație, putem alege numărul individual de repetări (de la 1 la valoarea variabilei gmplans). Apoi se construiește condiționată DO IF - ELSE - END IF. Dacă variabila indexului #i este egală cu 1, aceasta înseamnă că pentru această observație, ciclul este executat pentru prima dată. Aceasta este prima dată și poate fi ultimul în cazul în care variabila gmplans valoarea 1. a stat În orice caz, vom copia aver o valoare variabilă din primul vector variabil (fpr_iy1).

Dacă #i nu este egal cu 1, executăm două comenzi. Mai întâi vom adăuga valoare # i-lea variabilă a vectorului cu valoarea pe care este deja conținută în aver variabilă. În cazul în care nu a existat anterior o prelungire sau o valoare v1 (#I) în sine este o sumă rezultat trece (aver, v1 (#I)) va fi egală cu valoarea argumentului, fără sărind peste (sau este treci egal dacă ambele argumente - lacune). A doua echipa, vom finaliza calculul valorii medii în cazul în care #I a atins limita superioară a modificărilor sale (gmplans). Astfel, diviziunea apare mereu pe valoarea variabilelor gmplans. Noi facem la concluzia că această soluție trebuie utilizată cu precauție: aplicarea incorectă va reveni valori medii în cazul în care cel puțin unul dintre argumente fpr_iy1 - fpr_iy4 va fi o trecere! Sau, mai degrabă, omisiuni va fi interpretată ca valoare zero, cu excepția cazului în toate variabilele fpr_iy1 - nu fpr_iy4 conțin valori lipsă. În acest din urmă caz, aver este, de asemenea, o trecere.

LOOP #i = 1 PENTRU gmplans.

- COMPUTE aver = v1 (#i).

- COMPUTE aver = SUM (aver, v1 (#i)).

- DACĂ # i = gmplans aver = aver / # i.

Următoarea comandă este de a rula calculele amânate, obținând statistici descriptive pentru variabila nouă creată.

descriptives
VARIABLES = aver
/ STATISTICI = MEAN STDDEV MIN MAX.

Rețineți că din moment ce #i (cu grilă) a fost folosit ca variabilă index în buclă LOOP, acesta nu va apărea în fișierul de date. Dacă, totuși, pictograma # este eliminată în toate cazurile, vom vedea la ce valoare am oprit ciclul pentru fiecare observație. Deoarece contorul este incrementat prin executarea ultimei instrucțiuni a buclă, această valoare va fi întotdeauna egală cu gmplans + 1.

Încă o observație. Pentru cea de-a cincea observație, valoarea variabilei gmplans = 0. Acest lucru face ca bucla să înceapă cu parametrii LOOP #i = 1 TO 0. Un astfel de ciclu, în conformitate cu regulile, nu va fi executat. Valoarea variabilă va conține valoarea lipsă.

În acest fel. Toate cele bune.

Nou pe site-ul www.spsstools.ru

Exemple de sintaxă traduse și adăugate: