S (limbaj de programare)
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 12 iulie 2019; verificările necesită
9 modificări .
S este un limbaj de programare dezvoltat de AT&T Bell Labs (apărut la mijlocul anilor 80), conceput pentru prelucrarea datelor. Mai multe versiuni ale extensiei de limbaj S-S-Plus au fost dezvoltate pentru diverse platforme ( UNIX , SunOS , Windows ).
În descrierea lui S-Plus [1] (vezi și [2] ) oferită de S-Press [3] , se observă că acest produs conține un limbaj de programare orientat pe obiecte , care oferă capacitatea de a controla starea obiectelor. descris în acest limbaj în orice punct algoritm. Mai mult, obiectele sunt toate seturi de date, funcții și modele de analiză. Acest lucru distinge acest produs de pachetele software specializate. Nu mai trebuie să colectați comenzi și funcții, să puneți totul în această cutie neagră și să așteptați imprimarea finală. Avantajele noii abordări sunt de a oferi controlabilitate la fiecare pas al calculelor, înțelegere a operațiunilor și încredere în rezultat. Este de remarcat faptul că generarea de rapoarte frumoase, dar codificate (printouts) este exclusă din conceptul S-Plus.
O scurtă prezentare a principalelor caracteristici ale limbajului S-Plus
(O privire la caracteristicile S-PLUS [4] ).
- Există o interfață cu utilizatorul cu un sistem de meniu care vă permite să efectuați o secvență de acțiuni într-un dialog cu programul.
- Există un limbaj încorporat orientat pe obiecte.
Caracteristici ale limbii
S-PLUS acceptă:
- Clase ( obiecte ), mecanism de moștenire , funcții și metode generice.
- Operații și funcții pentru lucrul cu scalari, vectori și tablouri
- Limbajul structural, inclusiv for, while, next, repeat, break statements.
- Operatori logici: >, >=, <, <=, == ,!=, &, dacă altfel, toate, oricare.
- Operatori inteligenți pentru lucrul cu obiecte
- Un obiect listă care vă permite să creați matrice structurate de obiecte eterogene.
- O funcție de substituție pentru o buclă care procesează obiecte similare.
- Funcțiile „By” și „Aggregate” (pentru analiza variabilelor specifice pentru fiecare dintre diferitele niveluri ale altei variabile).
S-PLUS vă permite să:
- Creați-vă propriile proceduri de prelucrare a datelor.
- Corectați/modificați oricare dintre cele 1650 de funcții disponibile.
Interfață cu programele C și FORTRAN
- Poate fi folosit ca interfață (front-end) pentru biblioteci comerciale (IMSL, NAG etc.)
- Încărcarea dinamică și statică a programelor utilizator scrise în C sau Fortran.
- Încărcare dinamică DLL în Windows
Interfața sistemului de operare
- Generarea proceselor .
- Acces la editorii disponibile în sistem.
- Comunicarea cu sistemul de operare și alte aplicații.
Intrare/Ieșire
- fișiere ASCII .
- Introducerea datelor de la tastatură.
- Introducerea datelor din fișiere binare create de programele utilizator scrise în C sau Fortran.
- Intrare directă pe ecran (Editor interactiv de date).
- Ieșire în formatele PostScript și HPGL .
- Acceptă toate driverele de imprimantă în MS Windows.
- Import/Export de date (cadru de date) din foile de calcul Excel și Lotus 1-2-3 pentru Windows.
- Importați/Exportați date din formatul dBase sau din orice alt format acceptat de ODBC.
- Există o interfață cu utilizatorul cu un sistem de meniu care vă permite să efectuați o secvență de acțiuni într-un dialog cu programul (Analiza interactivă, cu feedback pas cu pas).
Ajutor și documentație
Ajutor context (sistem de ajutor); documentare extinsă ; Rechemare și editare în linia de comandă; Linia de asistență telefonică și e-mail.
- Funcții (Funcțiile clasice și moderne asigură o analiză penetrantă și cea mai bună potrivire)
- statistici de bază
- Statistici elementare ( statistici rezumative descriptive)
- Testarea ipotezelor după criteriul Studentului
- Testarea ipotezei Chi-pătrat
- Testul de rang Wilkson
- Test binom
- Testul Mantel-Haenszel
- Distribuții standard de densitate
- Statistici și grafice cu mai mulți factori
- Gruparea ierarhică
- k - înseamnă metoda
- Grupare bazată pe modele
- Clasificarea arborilor (clasificatori ai arborilor)
- Analiza tabelului de contingență log-liniară (analiza aleatorie)
- Arborele ramificat minim (arborele ramificat minim)
- Analiza componentelor (componente principale)
- Analiza factorilor
- Corelația canonică
- Scalare multidimensională
- chipurile lui Chernoff
- Reprezentarea grafică a clusterelor sub formă de diagrame (diagrame stea-simbol) și dendrograme care afișează arborele cluster
- Grafice matrici pentru perechi de variabile (Matrice Scatterplot)
- Calcule matematice
- Operații cu vectori și matrice (+, *, etc.)
- Analiza proprie
- Inversarea matricelor și rezolvarea ecuațiilor liniare
- Găsirea valorilor proprii (singular) și descompunerea QR
- Suport pentru standardul IEEE (valori speciale IEEE acceptate)
- Interfață cu pachetul LAPACK (metode numerice de algebră liniară)
- Determinanți și norme de matrice și [estimare condiționată]
- Rezolvarea ecuațiilor liniare pentru probleme de incertitudine, ecuații pătratice și metoda celor mai mici pătrate
- Diagrame de control al calității
- diagrame Shewhart
- Diagrame Cusum
- Diagrame specializate (xbar, s, np, p, c, u)
- Regresia și analiza varianței (Regresia și ANOVA)
- Regresia liniară cu cele mai mici pătrate
- Regresie neliniară cu cele mai mici pătrate
- Analiza varianței (ANOVA echilibrat și dezechilibrat)
- Regresie inversă (regresie în trepte)
- Regresia reziduurilor cu cel mai mic pătrat tăiat (regresie robustă cu punct de defalcare ridicat)
- Modele liniare generalizate
- Modele aditive generalizate (GAM)
- Devianța reziduală (pentru compararea modelului)
- Modele de regresie ACE și AVAS
- Regresia urmăririi proiecției
- M-estimări ale regresiei
- Regresia bazată pe arbore
- Analiza supraviețuirii
- Curbele Kaplan-Meier și Fleming-Harrington
- Testele curbei de supraviețuire G-rho
- modele parametrice de supraviețuire
- Modele de hazarduri proporționale Cox pentru covariabile dependente de timp, evenimente multiple și intervale discontinue de risc
- Specificația modelului bazată pe formule
- Tabelele naționale de rate pentru potrivirea vârstei și sexului subiecților pentru a estima curbele de supraviețuire așteptate
- Analiza serii temporale/semnal
- autocorelare
- Construirea unui model de autocorelare (clasic și brut)
- Construirea modelelor ARISS (modele ARIMA)
- Calculul parametrilor filtrelor liniare
- demodulație complexă
- Analiza spectrală
- Transformată Fourier și algoritm FFT (transformări Fourier)
- Netezire (diverse metode clasice și grosiere)
- Grafică integrată care permite cele mai bune practici pentru vizualizarea datelor și a rezultatelor
- Afișarea graficelor în mai multe ferestre (Mai multe ferestre grafice)
- Controlul mouse-ului (Locația graficelor prin mouse)
- Analiza graficelor cu mouse-ul (Identificarea punctelor folosind mouse-ul).
- Redefinirea culorilor (hărți de culori definibile de utilizator).
- Salvare/încărcare hărți interactive de culori.
- Rotirea tridimensională a diagramelor (rotirea datelor 3D).
- Matrice pentru a afișa relația mai multor variabile.
- Condiție pe diferite niveluri a unei variabile de bază.
- Specificații de afișare bazate pe formule cu condiționare pe factori sau variabile continue.
- Afișaje cu panouri multiple cu control flexibil asupra axelor și raporturilor de aspect.
- Calcule „bancare” care permit datelor să selecteze raportul de aspect.
- Grafică tridimensională.
- diagramă de contur.
- rotirea datelor.
- Suprafață plasă cu perspectivă selectată de utilizator.
- Grafice ale imaginii (reprezentarea datelor în pixeli, culoare sau scară de gri).
- Perierea matricei Scatterplot.
- Grafică bidimensională (trasare 2D).
- Graficul a două variabile (diagrame XY).
- Serii temporale.
- Diagrame (diagrame cu casete, diagrame circulare, histograme, diagrame cu bare, diagrame cu puncte).
- Familii de curbe (Suprapuneți mai multe diagrame sau afișați unul lângă altul).
- Scale logaritmice și liniare (Log and linear axis scale).
- Gestionați stilurile de linii, cursoarele, textul, culoarea și multe altele.
- harti SUA.
- Funcții pentru afișarea hărților (Funcții generale de cartografiere).
- Interfață grafică cu utilizatorul (funcții GUI Windows).
- Opțiunile pot fi afișate în casete de dialog speciale (caseta de dialog), care creează o interfață prietenoasă.
- Gestionarea obiectelor și capacitatea de a le monitoriza starea (browserul de obiecte pentru a afișa interactiv tipul de filtru și pentru a selecta obiectele S-PLUS).
- Afișarea comenzilor anterioare salvate într-un fișier special (fereastra istoric comenzi afișează toate comenzile, care pot fi selectate, executate, editate sau salvate într-un fișier).
- Suportul de servire DDE permite aplicațiilor să trimită comenzi către S-PLUS și să primească rezultate, de exemplu aplicații de interfață Visual Basic sau Visual C++).
- Include casete de dialog pentru setarea parametrilor pentru funcțiile S-PLUS în modul de dialog.
- Include posibilitatea de a personaliza (crea noi) meniuri, casete de dialog și comenzi asociate comenzilor și funcțiilor S-PLUS (meniuri personalizabile pentru a genera comenzi S-PLUS, casete de dialog și comenzi personalizabile).
Biblioteca timelab [5] conține funcții pentru construirea de modele ARCC (ARMA) și analiza serii de timp. Se folosește interfața S cu bibliotecile Fortran (judecând după textul sursă - IMSL, NAG, ACM Collection).
Biblioteci care conțin funcții în limbajul S și SPlus (S+)
Mai jos este o scurtă listă de biblioteci care conțin funcții în limbajul S și Splus care implementează metodele descrise propuse pentru rezolvarea problemei de predicție, precum și câteva biblioteci care vă permit să legați textul în limbajul S cu textul scris în Fortran sau C ( C++):
- class (link indisponibil) — bibliotecă de subrutine pentru clasificare
- fracdiff - subrutine pentru calcularea parametrilor modelului ARISS
- gmanova - analiza rutinelor de varianță
- linreg - rutine de construire a regresiei liniare
- mclust (downlink) - rutine de analiză a clusterelor
- mda - rutine de analiză discriminantă
- mmreg - subrutine pentru construirea regresiei multiple
- nnet - prognoza folosind rețele neuronale
- nonlin - rutine de construire a regresiei neliniare
- pear — autoregresie periodică
- s.f77.c.libs - interfață de programare cu Fortran și C
- prezice sigur
- time.series - analiza serii temporale folosind modele APCC
- time.series.guide - Un ghid pentru analiza seriilor temporale
- timelab - subrutine pentru analiza seriilor temporale folosind texte Fortran
Pachete
Un exemplu de combinare a capabilităților lui S și a unei interfețe prietenoase cu utilizatorul descrisă în limbajul LISP este pachetul S-Mode (sunt menționate Emacs, versiunile 4.8 și mai jos).
Trebuie menționat faptul că în textul care descrie avantajele limbajului R sunt indicate o serie de deficiențe ale limbajului S și ale implementărilor software ale acestuia (erori de memorie, compatibilitate nedeplină pentru diverse platforme etc.). În plus, disponibilitatea shell-urilor software și a compilatoarelor nu este clară, poate costul lor este mare. (Se indică faptul că R este distribuit gratuit - copyleft în stil GNU standard - spre deosebire de drepturile de autor).
Comparația SAS și S (programe de analiză și prelucrare a datelor)
Articolele de mai jos compară SAS și S, două dintre cele mai importante produse software de pe piața de software de analiză și procesare a datelor. Ambele produse conțin propriile limbaje de programare și instrumente de dezvoltare. Autorul indică că folosește ambele mijloace, dar S-Plus este de preferat pentru el. Unul dintre argumentele în favoarea lui S-Plus este costul mai mic al acestuia.
Dr. Terry Therneau folosește atât S-PLUS, cât și SAS pentru a-și maximiza analiza datelor
Descrierea aplicațiilor S-PLUS pentru rezolvarea problemelor financiare
Sjo Inc. folosește S-PLUS pentru a dezvolta metodologii de tranzacționare futures
Modelare financiară în S Plus
Cercetătorii de piață care caută mai mult din datele lor apelează la S-PLUS
Distribuitori S-PLUS - Departamentul de vânzări StatSci Europe https://web.archive.org/web/20100407211323/http://www.statsci.co.uk/
Surse de informare pe Internet
- Core Math LIBrary este o colecție de biblioteci statistice din Fortran, cu texte sursă furnizate cu comentarii, inclusiv o descriere a metodelor.
- Statlib conține informații, inclusiv coduri sursă cu date eșantion (seturi de date și cod). Sunt specificate limbile XLispStat , S, R, BLSS etc.
- Pagina de pornire S-Plus, MathSoft conține informații despre limbajele de programare S și S-Plus.
- Software de analiză a puterii pentru PC-uri (link indisponibil) O listă extinsă de programe concepute pentru a testa ipotezele statistice în analiza puterii. Prezentare generală a pachetelor statistice și link-uri către pagini relevante.
- Serviciile Kovach Computing conțin o listă de site-uri de prelucrare a datelor statistice. Oferă consultanță privind pachetele SIMSTAT, MVSP, Oriana.
- NetLib , https://web.archive.org/web/20000916005332/http://risc1.numis.nwu.edu/ftp/pub/list-packages.html
- Acasă NPSTAT conține o listă mare de metode de ultimă generație pentru control neparametric și alte metode de procesare statistică (statistica în general).
Note
Există un analog pentru SAS, dezvoltat sub GNU GPL - DAP.
DAP a fost scris pentru a fi un înlocuitor gratuit pentru SAS. Pentru un astfel de program statistic precum SPSS, există și un analog dezvoltat sub licența GNU GPL - GNU PSPP
Vezi și
R (limbaj de programare)
D (limbaj de programare)
Plankalkül (prima limbă de nivel înalt)
E (limbaj de programare)
Java (limbaj de programare)