S (programmeringsspråk)
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 12 juli 2019; kontroller kräver
9 redigeringar .
S är ett programmeringsspråk utvecklat av AT & T Bell Labs (dök upp i mitten av 80-talet), designat för databehandling. Flera versioner av språktillägget S-S-Plus har utvecklats för olika plattformar ( UNIX , SunOS , Windows ).
I beskrivningen av S-Plus [1] (se även [2] ) som ges av S-Press [3] , noteras att denna produkt innehåller ett objektorienterat programmeringsspråk som ger möjlighet att kontrollera objektens tillstånd beskrivs på detta språk när som helst algoritm. Dessutom är objekten alla datamängder, funktioner och analysmodeller. Detta skiljer denna produkt från specialiserade programvarupaket. Du behöver inte längre samla kommandon och funktioner, lägg allt i denna svarta låda och vänta på den slutliga utskriften. Fördelarna med det nya tillvägagångssättet är att ge kontrollerbarhet vid varje steg i beräkningarna, förståelse för verksamheten och förtroende för resultatet. Det noteras att genereringen av vackra, men hårdkodade rapporter (utskrifter) är uteslutna från S-Plus-konceptet.
En kort översikt över huvudfunktionerna i S-Plus-språket
(S-PLUS funktioner i ett ögonkast [4] ).
- Det finns ett användargränssnitt med ett menysystem som låter dig utföra en sekvens av åtgärder i en dialog med programmet.
- Det finns ett inbyggt objektorienterat språk.
Språkfunktioner
S-PLUS stöder:
- Klasser ( objekt ) , arvsmekanism , generiska funktioner och metoder.
- Operationer och funktioner för att arbeta med skalärer, vektorer och arrayer
- Strukturellt språk inklusive for, while, next, repeat, break statements.
- Logiska operatorer: >, >=, <, <=, == ,!=, &, om annat, alla, alla.
- Intelligenta operatörer för att arbeta med objekt
- Ett listobjekt som låter dig skapa strukturerade arrayer av heterogena objekt.
- En ersättningsfunktion för en loop som bearbetar liknande objekt.
- Funktionerna "By" och "Aggregera" (för att analysera specifika variabler för var och en av de olika nivåerna i en annan variabel).
S-PLUS låter dig:
- Skapa dina egna databehandlingsrutiner.
- Korrigera/ändra någon av de 1650 tillgängliga funktionerna.
Gränssnitt med C- och FORTRAN-program
- Kan användas som ett gränssnitt (front-end) för kommersiella bibliotek (IMSL, NAG, etc.)
- Dynamisk och statisk laddning av användarprogram skrivna i C eller Fortran.
- Dynamisk DLL- laddning i Windows
Operativsystems gränssnitt
Input/Output
- ASCII- filer.
- Mata in data från tangentbordet.
- Datainmatning från binära filer skapade av användarprogram skrivna i C eller Fortran.
- Direkt skärminmatning (Interaktiv dataredigerare).
- Utdata i PostScript- och HPGL-format .
- Stöder alla skrivardrivrutiner i MS Windows.
- Import/Export av data (dataram) från kalkylblad Excel och Lotus 1-2-3 för Windows.
- Importera/exportera data från dBase-format eller något annat format som stöds av ODBC.
- Det finns ett användargränssnitt med ett menysystem som låter dig utföra en sekvens av åtgärder i en dialog med programmet (Interaktiv analys, med steg-för-steg feedback).
Hjälp och dokumentation
Kontexthjälp (hjälpsystem); omfattande dokumentation ; Återkalla och redigera kommandoraden; Telefon och e-post Hjälplinje.
- Funktioner (Klassiska och moderna funktioner garanterar genomträngande analys och bästa passform)
- grundläggande statistik
- Elementär statistik (Beskrivande sammanfattningsstatistik)
- Hypotesprövning efter Students kriterium
- Chi-Square Hypothesis Testing
- Wilkson rangtest
- Binomialt test
- Mantel-Haenszel test
- Standarddensitetsfördelningar _
- Multi-faktor statistik och grafik
- Hierarkisk klustring
- k - betyder metod
- Modellbaserad klustring
- Trädklassificering (Trädklassificerare)
- Loglinjär analys av beredskapstabeller (slumpmässig analys)
- Minsta spännträd (minst grenat träd)
- Komponentanalys (huvudsakliga komponenter)
- Faktoranalys
- Kanonisk korrelation
- Flerdimensionell skalning
- Chernoffs ansikten
- Grafisk representation av kluster i form av diagram (stjärnsymbolplotter) och dendrogram som visar klusterträdet
- Plotta matriser för par av variabler (Scatterplot-matriser)
- Matematiska beräkningar
- Operationer med vektorer och matriser (+, *, etc.)
- Egenanalys
- Invertera matriser och lösa linjära ekvationer
- Hitta egenvärden (singular) och QR-nedbrytning
- Stöd för IEEE- standarden (IEEE specialvärden stöds)
- Gränssnitt med LAPACK -paketet (numeriska metoder för linjär algebra)
- Matrisdeterminanter och normer och [villkorlig uppskattning]
- Lösa linjära ekvationer för osäkerhetsproblem, andragradsekvationer och minsta kvadratmetoden
- Kvalitetskontrolldiagram
- Shewhart-diagram
- Cusum-diagram
- Specialiserade diagram (xbar, s, np, p, c, u)
- Regression och variansanalys (Regression och ANOVA)
- Minsta kvadraters linjär regression
- Icke-linjär minsta kvadraters regression
- Variansanalys (Balanserad och obalanserad ANOVA)
- Invers regression (stegvis regression)
- Minst trimmade kvadratiska restregression (hög nedbrytningspunkt robust regression)
- Generaliserade linjära modeller
- Generaliserade tillsatsmodeller (GAM)
- Kvarvarande avvikelse (för modelljämförelse)
- ACE och AVAS regressionsmodeller
- Projicering strävan regression
- M-uppskattningar av regression
- Trädbaserad regression
- Överlevnadsanalys
- Kaplan-Meier och Fleming-Harrington kurvor
- G-rho överlevnadskurva tester
- parametriska överlevnadsmodeller
- Cox proportional hazards-modeller för tidsberoende kovariater, multipla händelser och diskontinuerliga riskintervall
- Formelbaserad modellspecifikation
- Nationella taxeringstabeller för ålders- och könsmatchning av försökspersoner för att uppskatta förväntade överlevnadskurvor
- Tidsserie/signalanalys
- autokorrelation
- Att bygga en autokorrelationsmodell (klassisk och grov)
- Bygga ARISS-modeller (ARIMA-modeller)
- Beräkning av parametrar för linjära filter
- komplex demodulering
- Spektralanalys
- Fouriertransformation och FFT-algoritm (Fouriertransformationer)
- Utjämning (olika klassiska och grova metoder)
- Integrerad grafik som tillåter bästa praxis för data- och resultatvisualisering
- Visa grafer i flera fönster (flera grafikfönster)
- Muskontroll (placering av grafik via mus)
- Analys av grafer med mus (Punktidentifiering med mus).
- Omdefiniera färger (användardefinierbara färgkartor).
- Interaktiv färgkarta spara/ladda.
- Tredimensionell rotation av diagram (3D-dataspinning).
- Matris för att visa förhållandet mellan många variabler.
- Tillstånd på olika nivåer av en underliggande variabel.
- Formelbaserad displayspecifikation med konditionering på faktorer eller kontinuerliga variabler.
- Flerpanelsskärmar med flexibel kontroll över axlar och bildförhållanden.
- "Banking"-beräkningar som låter data välja bildförhållande.
- Tredimensionell grafik.
- konturplot.
- data snurrar.
- Meshyta med användarvalt perspektiv.
- Bildplottar (pixeldatarepresentation, färg eller gråskala).
- Scatterplot-matrisborstning.
- Tvådimensionell grafik (2D-plottning).
- Plott av två variabler (XY-spridningsdiagram).
- Tidsserieplottar.
- Diagram (Låddiagram, cirkeldiagram, histogram, stapeldiagram, punktdiagram).
- Kurvfamiljer (överlägg flera plotter eller visa sida vid sida).
- Logaritmiska och linjära skalor (Log och linjär axelskalning).
- Hantera linjestilar, markörer, text, färg och mer.
- USA kartor.
- Funktioner för att visa kartor (Allmänna kartfunktioner).
- Grafiskt användargränssnitt (Windows GUI-funktioner).
- Alternativ kan visas i speciella dialogrutor (dialogruta), vilket skapar ett användarvänligt gränssnitt.
- Hantering av objekt och möjligheten att övervaka deras tillstånd (Objektwebbläsare för att interaktivt visa filtertyp och välja S-PLUS-objekt).
- Visning av tidigare kommandon sparade i en speciell fil (Kommandohistorikfönstret visar alla kommandon som kan väljas, utföras, redigeras eller sparas i en fil).
- DDE-servestöd tillåter applikationer att skicka kommandon till S-PLUS och ta emot resultat, t.ex. Visual Basic eller Visual C++ gränssnittsapplikationer).
- Inkluderar dialogrutor för inställning av parametrar för S-PLUS-funktioner i dialogläge.
- Inkluderar möjligheten att anpassa (skapa nya) menyer, dialogrutor och kontroller associerade med S-PLUS-kommandon och -funktioner (anpassningsbara menyer för att generera S-PLUS-kommandon, anpassningsbara dialogrutor och kontroller).
Timeslab-biblioteket [5] innehåller funktioner för att bygga ARCC (ARMA) modeller och tidsserieanalys. S-gränssnittet med Fortran-bibliotek används (av källtexten att döma - IMSL, NAG, ACM Collection).
Bibliotek som innehåller funktioner i S-språket och SPlus (S+)
Nedan finns en kort lista över bibliotek som innehåller funktioner i S- och Splus-språken som implementerar de beskrivna metoderna som föreslås för att lösa prediktionsproblemet, samt flera bibliotek som låter dig länka text på S-språket med text skriven i Fortran eller C ( C++):
- klass (inte tillgänglig länk) — bibliotek med subrutiner för klassificering
- fracdiff - subrutiner för beräkning av parametrarna för ARISS-modellen
- gmanova - analys av variansrutiner
- linreg - linjära regressionsbyggande rutiner
- mclust (nedlänk) - klusteranalysrutiner
- mda - diskriminerande analysrutiner
- mmreg - subrutiner för att bygga multipel regression
- nnet - prognoser med hjälp av neurala nätverk
- nonlin - icke-linjära regressionsbyggande rutiner
- päron — periodisk autoregression
- s.f77.c.libs - programmeringsgränssnitt med Fortran och C
- säkert förutsäga
- time.series - tidsserieanalys med APCC-modeller
- time.series.guide - En guide till tidsserieanalys
- timeslab - subrutiner för tidsserieanalys med Fortran-texter
Paket
Ett exempel på att kombinera funktionerna hos S och ett användarvänligt användargränssnitt som beskrivs på LISP-språket är S-Mode-paketet (Emacs, version 4.8 och nedan nämns).
Vi bör nämna det faktum att i texten som beskriver fördelarna med R-språket indikeras ett antal brister i S-språket och dess mjukvaruimplementationer (fel i minnet, inte full kompatibilitet för olika plattformar, etc.). Dessutom är tillgängligheten av mjukvaruskal och kompilatorer inte klar, kanske deras kostnad är hög. (Det anges att R distribueras fritt - standard GNU-stil copyleft - i motsats till copyright).
Jämförelse av SAS och S (program för dataanalys och bearbetning)
I artiklarna nedan jämförs SAS och S, två av de ledande mjukvaruprodukterna på marknaden för dataanalys och bearbetning av mjukvara. Båda produkterna innehåller sina egna programmeringsspråk och utvecklingsverktyg. Författaren anger att han använder båda medlen, men S-Plus är att föredra för honom. Ett av argumenten för S-Plus är dess lägre kostnad.
Dr. Terry Therneau använder både S-PLUS och SAS för att maximera sin dataanalys
Beskrivning av S-PLUS-applikationer för att lösa ekonomiska problem
Sjo Inc. använder S-PLUS för att utveckla metoder för handel med terminer
Finansiell modellering i S Plus
Marknadsforskare som vill ha mer av sin data vänder sig till S-PLUS
S-PLUS-distributörer - Försäljningsavdelning StatSci Europe https://web.archive.org/web/20100407211323/http://www.statsci.co.uk/
Informationskällor på Internet
- Core Math LIBrary är en samling statistiska bibliotek i Fortran, med källtexter försedda med kommentarer, inklusive en beskrivning av metoderna.
- Statlib innehåller information, inklusive källkoder med exempeldata (dataset och kod). XLispStat , S, R, BLSS, etc. språk är specificerade.
- S-Plus, MathSofts hemsida innehåller information om programmeringsspråken S och S-Plus.
- Power Analysis mjukvara för PC-er (ej tillgänglig länk) En omfattande lista med program utformade för att testa statistiska hypoteser i effektanalys. Översikt över statistikpaket och länkar till relevanta sidor.
- Kovach Computing-tjänster innehåller en lista över webbplatser för statistisk databehandling. Ger råd om SIMSTAT, MVSP, Oriana-paket.
- NetLib , https://web.archive.org/web/20000916005332/http://risc1.numis.nwu.edu/ftp/pub/list-packages.html
- NPSTAT home innehåller en stor lista med state-of-the-art metoder för icke-parametrisk kontroll och andra statistiska bearbetningsmetoder (statistik i allmänhet).
Anteckningar
Det finns en analog för SAS, utvecklad under GNU GPL - DAP.
DAP skrevs för att vara en gratis ersättare för SAS. För ett sådant statistiskt program som SPSS finns det också en analog utvecklad under GNU GPL-licensen - GNU PSPP
Se även
R (programmeringsspråk)
D (programmeringsspråk)
Plankalkül (första språket på hög nivå)
E (programmeringsspråk)
Java (programmeringsspråk)