S (programovací jazyk)
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 12. července 2019; kontroly vyžadují
9 úprav .
S je programovací jazyk vyvinutý společností AT & T Bell Labs (objevil se v polovině 80. let), určený pro zpracování dat. Bylo vyvinuto několik verzí jazykového rozšíření S-S-Plus pro různé platformy ( UNIX , SunOS , Windows ).
V popisu S-Plus [1] (viz také [2] ), který uvádí S-Press [3] , je poznamenáno, že tento produkt obsahuje objektově orientovaný programovací jazyk , který poskytuje možnost ovládat stav objektů popsaný v tomto jazyce v libovolném bodě algoritmu. Kromě toho jsou objekty všechny datové sady, funkce a modely analýzy. To odlišuje tento produkt od specializovaných softwarových balíků. Už nemusíte sbírat příkazy a funkce, vše vkládat do této černé skříňky a čekat na finální výtisk. Výhodou nového přístupu je zajistit ovladatelnost v každém kroku výpočtů, srozumitelnost operací a důvěru ve výsledek. Je třeba poznamenat, že generování krásných, ale pevně zakódovaných zpráv (tiskových výstupů) je z konceptu S-Plus vyloučeno.
Stručný přehled hlavních funkcí jazyka S-Plus
(Funkce S-PLUS na první pohled [4] ).
- K dispozici je uživatelské rozhraní se systémem nabídek, které vám umožňuje provádět sekvenci akcí v dialogu s programem.
- K dispozici je vestavěný objektově orientovaný jazyk.
Jazykové funkce
S-PLUS podporuje:
- Třídy ( objekty ), mechanismus dědičnosti , generické funkce a metody.
- Operace a funkce pro práci se skaláry, vektory a poli
- Strukturální jazyk včetně příkazů for, while, next, repeat, break.
- Logické operátory: >, >=, <, <=, == ,!=, &, pokud jinak, všechny, libovolné.
- Inteligentní operátory pro práci s objekty
- Objekt seznamu, který umožňuje vytvářet strukturovaná pole heterogenních objektů.
- Substituční funkce pro smyčku, která zpracovává podobné objekty.
- Funkce "By" a "Aggregate" (pro analýzu specifických proměnných pro každou z různých úrovní jiné proměnné).
S-PLUS vám umožňuje:
- Vytvořte si vlastní postupy zpracování dat.
- Opravte / upravte kteroukoli z 1650 dostupných funkcí.
Rozhraní s programy C a FORTRAN
- Lze použít jako rozhraní (front-end) pro komerční knihovny (IMSL, NAG atd.)
- Dynamické a statické načítání uživatelských programů napsaných v C nebo Fortran.
- Dynamické načítání DLL ve Windows
Rozhraní operačního systému
Vstup/Výstup
- ASCII soubory.
- Zadávání dat z klávesnice.
- Vstup dat z binárních souborů vytvořených uživatelskými programy napsanými v C nebo Fortran.
- Přímý vstup na obrazovku (Interaktivní editor dat).
- Výstup ve formátech PostScript a HPGL .
- Podporuje všechny ovladače tiskáren v MS Windows.
- Import/Export dat (datového rámce) z tabulek Excel a Lotus 1-2-3 pro Windows.
- Import/export dat z formátu dBase nebo jiného formátu podporovaného ODBC.
- K dispozici je uživatelské rozhraní se systémem nabídek, které umožňuje provádět sled akcí v dialogu s programem (interaktivní analýza, se zpětnou vazbou krok za krokem).
Nápověda a dokumentace
Kontextová nápověda (systém nápovědy); rozsáhlá dokumentace ; Vyvolání a editace příkazového řádku; Telefonická a e-mailová linka pomoci.
- Funkce (klasické a moderní funkce zajišťují pronikavou analýzu a nejlepší přizpůsobení)
- základní statistiky
- Základní statistiky (popisné souhrnné statistiky)
- Testování hypotéz podle Studentova kritéria
- Testování hypotéz chí- kvadrát
- Wilksonův hodnostní test
- Binomický test
- Mantel-Haenszelův test
- Standardní distribuce hustoty
- Vícefaktorové statistiky a grafika
- Hierarchické shlukování
- metoda k -znamená
- Klastrování založené na modelu
- Klasifikace stromů (klasifikátory stromů)
- Log-lineární analýza kontingenční tabulky (náhodná analýza)
- Minimální kostra (minimální větvený strom)
- Analýza komponent (hlavní komponenty)
- Faktorová analýza
- Kanonická korelace
- Vícerozměrné škálování
- Chernoffovy tváře
- Grafické znázornění shluků ve formě diagramů (Star-symbol plots) a dendrogramů zobrazujících strom shluků
- Vykreslování matic pro páry proměnných (matice rozptylu)
- Matematické výpočty
- Operace s vektory a maticemi (+, * atd.)
- Vlastní analýza
- Invertování matic a řešení lineárních rovnic
- Hledání vlastních čísel (singulární) a rozklad QR
- Podpora standardu IEEE (podporovány speciální hodnoty IEEE)
- Rozhraní s balíkem LAPACK (numerické metody lineární algebry)
- Maticové determinanty a normy a [podmíněný odhad]
- Řešení lineárních rovnic pro úlohy neurčitosti, kvadratické rovnice a metoda nejmenších čtverců
- Tabulky kontroly kvality
- Shewhartovy grafy
- Cusum grafy
- Specializované grafy (xbar, s, np, p, c, u)
- Regrese a analýza rozptylu (Regrese a ANOVA)
- Lineární regrese metodou nejmenších čtverců
- Nelineární regrese nejmenších čtverců
- Analýza rozptylu (vyvážená a nevyvážená ANOVA)
- Inverzní regrese (kroková regrese)
- Regrese nejméně oříznutých čtverců reziduí (robustní regrese s vysokým bodem zhroucení)
- Zobecněné lineární modely
- Generalizované aditivní modely (GAM)
- Zbytková odchylka (pro srovnání modelů)
- Regresní modely ACE a AVAS
- Regrese projekce
- M-odhady regrese
- Stromová regrese
- Analýza přežití
- Kaplan-Meierovy a Fleming-Harringtonovy křivky
- Testy křivky přežití G-rho
- parametrické modely přežití
- Coxovy modely proporcionálních rizik pro časově závislé kovariáty, vícenásobné události a nespojité intervaly rizika
- Specifikace modelu založená na vzorcích
- Národní tabulky sazeb pro shodu podle věku a pohlaví subjektů pro odhad očekávaných křivek přežití
- Analýza časových řad/signálů
- autokorelaci
- Vytvoření autokorelačního modelu (klasického a hrubého)
- Stavba modelů ARISS (modely ARIMA)
- Výpočet parametrů lineárních filtrů
- komplexní demodulace
- Spektrální analýza
- Fourierova transformace a FFT algoritmus (Fourierovy transformace)
- Vyhlazování (různé klasické i hrubé metody)
- Integrovaná grafika umožňující osvědčené postupy pro vizualizaci dat a výsledků
- Zobrazení grafů ve více oknech (Více grafických oken)
- Ovládání myší (umístění grafiky pomocí myši)
- Analýza grafů pomocí myši (Identifikace bodů pomocí myši).
- Předefinování barev (uživatelsky definovatelné barevné mapy).
- Interaktivní barevná mapa uložit/načíst.
- Trojrozměrné otáčení grafů (3D rotace dat).
- Matice pro zobrazení vztahu mnoha proměnných.
- Podmínka na různých úrovních základní proměnné.
- Specifikace zobrazení na základě vzorce s podmíněním na faktorech nebo spojitých proměnných.
- Vícepanelové displeje s flexibilním ovládáním os a poměrů stran.
- "Bankovní" výpočty, které umožňují datům vybrat poměr stran.
- Trojrozměrná grafika.
- obrysový graf.
- točení dat.
- Síťovaný povrch s uživatelem zvolenou perspektivou.
- Vykreslování obrázků (zobrazení obrazových dat, barva nebo stupnice šedi).
- Scatterplot matrix kartáčování.
- Dvourozměrná grafika (2D vykreslování).
- Graf dvou proměnných (XY scatterplots).
- Grafy časových řad.
- Grafy (krabicové grafy, koláčové grafy, histogramy, sloupcové grafy, bodové grafy).
- Rodiny křivek (překryjte více grafů nebo zobrazte vedle sebe).
- Logaritmické a lineární měřítka (Log a lineární měřítko os).
- Spravujte styly čar, kurzory, text, barvu a další.
- mapy USA.
- Funkce pro zobrazování map (Obecné mapovací funkce).
- Grafické uživatelské rozhraní (funkce GUI systému Windows).
- Možnosti lze zobrazit ve speciálních dialogových oknech (dialogové okno), které vytvářejí přátelské rozhraní.
- Správa objektů a možnost sledování jejich stavu (Prohlížeč objektů pro interaktivní zobrazení typu filtru a výběr objektů S-PLUS).
- Zobrazení předchozích příkazů uložených ve speciálním souboru (okno Historie příkazů zobrazuje všechny příkazy, které lze vybrat, provést, upravit nebo uložit do souboru).
- Podpora služeb DDE umožňuje aplikacím odesílat příkazy do S-PLUS a přijímat výsledky, např. aplikace rozhraní Visual Basic nebo Visual C++).
- Obsahuje dialogová okna pro nastavení parametrů pro funkce S-PLUS v dialogovém režimu.
- Zahrnuje schopnost přizpůsobit (vytvořit nové) nabídky, dialogová okna a ovládací prvky spojené s příkazy a funkcemi S-PLUS (přizpůsobitelné nabídky pro generování příkazů S-PLUS, přizpůsobitelná dialogová okna a ovládací prvky).
Knihovna timeslab [5] obsahuje funkce pro vytváření modelů ARCC (ARMA) a analýzu časových řad. Je použito rozhraní S s knihovnami Fortran (soudě dle zdrojového textu - IMSL, NAG, ACM Collection).
Knihovny obsahující funkce v jazyce S a SPlus (S+)
Níže je uveden krátký seznam knihoven obsahujících funkce v jazyce S a Splus, které implementují popsané metody navržené pro řešení problému predikce, a také několik knihoven, které umožňují propojit text v jazyce S s textem napsaným ve Fortran nebo C ( C++):
- class (unavailable link) — knihovna podprogramů pro klasifikaci
- fracdiff - podprogramy pro výpočet parametrů modelu ARISS
- gmanova - analýza variačních rutin
- linreg - postupy vytváření lineární regrese
- mclust (downlink) - rutiny shlukové analýzy
- mda - rutiny diskriminační analýzy
- mmreg - podprogramy pro vytváření vícenásobné regrese
- nnet - předpovídání pomocí neuronových sítí
- nonlin - rutiny pro vytváření nelineární regrese
- hruška — periodická autoregrese
- s.f77.c.libs - programovací rozhraní s Fortran a C
- bezpečně předvídat
- time.series - analýza časových řad pomocí APCC modelů
- time.series.guide - Průvodce analýzou časových řad
- timeslab - podprogramy pro analýzu časových řad pomocí textů Fortran
Balíčky
Příkladem kombinace schopností S a přívětivého uživatelského rozhraní popsaného v jazyce LISP je balíček S-Mode (uvádí se Emacs, verze 4.8 a níže).
Je třeba zmínit fakt, že v textu popisujícím výhody jazyka R je naznačena řada nedostatků jazyka S a jeho softwarových implementací (chyby v paměti, ne plná kompatibilita pro různé platformy apod.). Navíc není jasná dostupnost softwarových shellů a kompilátorů, možná je jejich cena vysoká. (Uvádí se, že R je distribuován volně – standardní copyleft ve stylu GNU – na rozdíl od autorských práv).
Porovnání SAS a S (programy pro analýzu a zpracování dat)
Níže uvedené články porovnávají SAS a S, dva z předních softwarových produktů na trhu softwaru pro analýzu a zpracování dat. Oba produkty obsahují vlastní programovací jazyky a vývojové nástroje. Autor naznačuje, že používá oba prostředky, ale S-Plus je pro něj výhodnější. Jedním z argumentů ve prospěch S-Plus je jeho nižší cena.
Dr. Terry Therneau používá S-PLUS i SAS k maximalizaci analýzy dat
Popis aplikací S-PLUS pro řešení finančních problémů
Společnost Sjo Inc. používá S-PLUS k vývoji metodik obchodování s futures
Finanční modelování v S Plus
Výzkumníci trhu, kteří chtějí ze svých dat více, se obracejí na S-PLUS
Distributoři S-PLUS – obchodní oddělení StatSci Europe https://web.archive.org/web/20100407211323/http://www.statsci.co.uk/
Zdroje informací na internetu
Poznámky
Existuje analog pro SAS, vyvinutý pod GNU GPL - DAP.
DAP byl napsán jako bezplatná náhrada za SAS. Pro takový statistický program, jako je SPSS, existuje také analog vyvinutý pod licencí GNU GPL - GNU PSPP
Viz také
R (programovací jazyk)
D (programovací jazyk)
Plankalkül (první jazyk na vysoké úrovni)
E (programovací jazyk)
Java (programovací jazyk)