S (lenguaje de programación)
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 12 de julio de 2019; las comprobaciones requieren
9 ediciones .
S es un lenguaje de programación desarrollado por AT&T Bell Labs (aparecido a mediados de los 80), diseñado para el procesamiento de datos. Se han desarrollado varias versiones de la extensión de lenguaje S-S-Plus para varias plataformas ( UNIX , SunOS , Windows ).
En la descripción de S-Plus [1] (ver también [2] ) dada por S-Press [3] , se observa que este producto contiene un lenguaje de programación orientado a objetos , que brinda la capacidad de controlar el estado de los objetos. descrito en este lenguaje en cualquier algoritmo de punto. Además, los objetos son todos conjuntos de datos, funciones y modelos de análisis. Esto distingue a este producto de los paquetes de software especializados. Ya no tiene que recopilar comandos y funciones, coloque todo en esta caja negra y espere la impresión final. Las ventajas del nuevo enfoque son proporcionar control en cada paso de los cálculos, comprensión de las operaciones y confianza en el resultado. Se observa que la generación de hermosos informes (impresiones) pero codificados está excluida del concepto S-Plus.
Una breve descripción de las principales características del lenguaje S-Plus
(Características de S-PLUS de un vistazo [4] ).
- Hay una interfaz de usuario con un sistema de menús que le permite realizar una secuencia de acciones en un diálogo con el programa.
- Hay un lenguaje orientado a objetos incorporado.
Características del lenguaje
S-PLUS admite:
- Clases ( objetos ), mecanismo de herencia , funciones y métodos genéricos.
- Operaciones y funciones para trabajar con escalares, vectores y matrices
- Lenguaje estructural que incluye declaraciones for, while, next, repeat, break.
- Operadores lógicos: >, >=, <, <=, == ,!=, &, si no, todos, cualquiera.
- Operadores inteligentes para trabajar con objetos
- Un objeto de lista que le permite crear matrices estructuradas de objetos heterogéneos.
- Una función de sustitución para un ciclo que procesa objetos similares.
- Funciones "Por" y "Agregado" (para analizar variables específicas para cada uno de los varios niveles de otra variable).
S-PLUS le permite:
- Cree sus propios procedimientos de procesamiento de datos.
- Corregir/modificar cualquiera de las 1650 funciones disponibles.
Interfaz con programas C y FORTRAN
- Se puede utilizar como interfaz (front-end) para bibliotecas comerciales (IMSL, NAG, etc.)
- Carga dinámica y estática de programas de usuario escritos en C o Fortran.
- Carga dinámica de DLL en Windows
Interfaz del sistema operativo
Entrada/Salida
- archivos ASCII .
- Introducción de datos desde el teclado.
- Entrada de datos de archivos binarios creados por programas de usuario escritos en C o Fortran.
- Entrada de pantalla directa (editor de datos interactivo).
- Salida en formatos PostScript y HPGL .
- Admite todos los controladores de impresora en MS Windows.
- Importación/Exportación de datos (marco de datos) desde hojas de cálculo Excel y Lotus 1-2-3 para Windows.
- Importar/Exportar datos desde formato dBase o cualquier otro formato soportado por ODBC.
- Hay una interfaz de usuario con un sistema de menús que le permite realizar una secuencia de acciones en un diálogo con el programa (Análisis interactivo, con retroalimentación paso a paso).
Ayuda y Documentación
Ayuda contextual (sistema de ayuda); extensa documentación ; Recuperación y edición de la línea de comandos; Línea de atención telefónica y por correo electrónico.
- Funciones (las funciones clásicas y modernas aseguran un análisis penetrante y el mejor ajuste)
- estadísticas básicas
- Estadísticas elementales (Estadísticas resumidas descriptivas)
- Contraste de hipótesis por el criterio de Student
- Prueba de hipótesis de chi-cuadrado
- Prueba de rango de Wilkson
- prueba binomial
- Prueba de Mantel-Haenszel
- Distribuciones de densidad estándar
- Estadísticas y gráficos multifactoriales
- Agrupación jerárquica
- k -means método
- Agrupación basada en modelos
- Clasificación de árboles (clasificadores de árboles)
- Análisis de tabla de contingencia log-lineal (análisis aleatorio)
- Árbol de expansión mínimo (árbol ramificado mínimo)
- Análisis de componentes (Componentes principales)
- Análisis factorial
- correlación canónica
- Escalamiento multidimensional
- caras de chernoff
- Representación gráfica de conglomerados en forma de diagramas (gráficos de símbolos de estrellas) y dendrogramas que muestran el árbol de conglomerados
- Matrices gráficas para pares de variables (matrices de diagramas de dispersión)
- Calculos matematicos
- Operaciones con vectores y matrices (+, *, etc.)
- autoanálisis
- Inversión de matrices y resolución de ecuaciones lineales
- Encontrar valores propios (Singular) y descomposición QR
- Compatibilidad con el estándar IEEE (admite valores especiales de IEEE)
- Interfaz con paquete LAPACK (métodos numéricos de álgebra lineal)
- Determinantes de matriz y normas y [estimación condicional]
- Resolución de ecuaciones lineales para problemas de incertidumbre, ecuaciones cuadráticas y el método de mínimos cuadrados
- Gráficas de control de calidad
- Gráficos de Shewhart
- Gráficos de suma
- Gráficos especializados (xbarra, s, np, p, c, u)
- Regresión y análisis de varianza (Regresión y ANOVA)
- Regresión lineal de mínimos cuadrados
- Regresión de mínimos cuadrados no lineales
- Análisis de varianza (ANOVA balanceado y desbalanceado)
- Regresión inversa (regresión paso a paso)
- Regresión de residuos de mínimos cuadrados recortados (regresión robusta de alto punto de ruptura)
- Modelos lineales generalizados
- Modelos aditivos generalizados (GAM)
- Desviación residual (para comparación de modelos)
- Modelos de regresión ACE y AVAS
- Regresión de búsqueda de proyección
- M-estimaciones de regresión
- Regresión basada en árboles
- Análisis de supervivencia
- Curvas de Kaplan-Meier y Fleming-Harrington
- Pruebas de curva de supervivencia G-rho
- modelos de supervivencia paramétricos
- Modelos de riesgos proporcionales de Cox para covariables dependientes del tiempo, eventos múltiples e intervalos de riesgo discontinuos
- Especificación del modelo basado en fórmulas
- Tablas de índices nacionales para el pareamiento por edad y sexo de los sujetos para estimar las curvas de supervivencia esperada
- Serie temporal/análisis de señales
- autocorrelación
- Construcción de un modelo de autocorrelación (clásico y aproximado)
- Construcción de modelos ARISS (modelos ARIMA)
- Cálculo de parámetros de filtros lineales
- demodulación compleja
- Análisis espectral
- Transformada de Fourier y algoritmo FFT (Transformaciones de Fourier)
- Suavizado (varios métodos clásicos y gruesos)
- Gráficos integrados que permiten las mejores prácticas para la visualización de datos y resultados
- Visualización de gráficos en varias ventanas (Ventanas de gráficos múltiples)
- Control del mouse (Ubicación de gráficos a través del mouse)
- Análisis de gráficos por mouse (Identificación de puntos usando mouse).
- Redefinición de colores (mapas de color definibles por el usuario).
- Guardar/cargar mapa de color interactivo.
- Rotación tridimensional de gráficos (giro de datos 3D).
- Matriz para mostrar la relación de muchas variables.
- Condición en diferentes niveles de una variable subyacente.
- Especificación de visualización basada en fórmulas con condicionamiento en factores o variables continuas.
- Pantallas multipanel con control flexible sobre ejes y relaciones de aspecto.
- Cálculos "bancarios" que permiten que los datos seleccionen la relación de aspecto.
- Gráficos tridimensionales.
- dibujo de contorno.
- giro de datos.
- Superficie de malla con perspectiva seleccionada por el usuario.
- Gráficos de imagen (representación de datos de píxeles, color o escala de grises).
- Cepillado de matriz de diagrama de dispersión.
- Gráficos bidimensionales (trazado 2D).
- Gráfico de dos variables (diagramas de dispersión XY).
- Gráficos de series de tiempo.
- Gráficos (diagramas de caja, gráficos circulares, histogramas, diagramas de barras, gráficos de puntos).
- Familias de curvas (superponer varios gráficos o mostrarlos uno al lado del otro).
- Escalas logarítmicas y lineales (escalas logarítmicas y de eje lineal).
- Administre estilos de línea, cursores, texto, color y más.
- Mapas de Estados Unidos.
- Funciones de visualización de mapas (Funciones generales de mapeo).
- Interfaz gráfica de usuario (características de la GUI de Windows).
- Las opciones se pueden mostrar en cuadros de diálogo especiales (cuadro de diálogo), lo que crea una interfaz amigable.
- Gestión de objetos y la capacidad de monitorear su estado (navegador de objetos para mostrar de forma interactiva el tipo de filtro y seleccionar objetos S-PLUS).
- Visualización de comandos anteriores guardados en un archivo especial (la ventana del historial de comandos muestra todos los comandos, que se pueden seleccionar, ejecutar, editar o guardar en un archivo).
- El soporte de servicio DDE permite que las aplicaciones envíen comandos a S-PLUS y reciban resultados, por ejemplo, aplicaciones de interfaz Visual Basic o Visual C++).
- Incluye cuadros de diálogo para configurar parámetros para funciones S-PLUS en modo de diálogo.
- Incluye la capacidad de personalizar (crear nuevos) menús, cuadros de diálogo y controles asociados con los comandos y funciones de S-PLUS (menús personalizables para generar comandos S-PLUS, cuadros de diálogo y controles personalizables).
La biblioteca timeslab [5] contiene funciones para construir modelos ARCC (ARMA) y análisis de series temporales. Se utiliza la interfaz S con bibliotecas Fortran (a juzgar por el texto de origen: IMSL, NAG, ACM Collection).
Librerías que contienen funciones en lenguaje S y SPlus (S+)
A continuación se muestra una breve lista de bibliotecas que contienen funciones en lenguaje S y Splus que implementan los métodos descritos propuestos para resolver el problema de predicción, así como varias bibliotecas que le permiten vincular texto en lenguaje S con texto escrito en Fortran o C ( C++):
- clase (enlace no disponible) — biblioteca de subrutinas para clasificación
- fracdiff - subrutinas para calcular los parámetros del modelo ARISS
- gmanova - rutinas de análisis de varianza
- linreg - rutinas de construcción de regresión lineal
- mclust (enlace descendente) - rutinas de análisis de conglomerados
- mda - rutinas de análisis discriminante
- mmreg - subrutinas para construir regresión múltiple
- nnet - pronóstico usando redes neuronales
- nonlin - rutinas de construcción de regresión no lineal
- pera — autorregresión periódica
- s.f77.c.libs - interfaz de programación con Fortran y C
- predicción segura
- time.series - análisis de series temporales usando modelos APCC
- time.series.guide - Una guía para el análisis de series temporales
- timeslab - subrutinas para el análisis de series de tiempo utilizando textos Fortran
Paquetes
Un ejemplo de combinación de las capacidades de S y una interfaz de usuario amigable descrita en el lenguaje LISP es el paquete S-Mode (se mencionan Emacs, versiones 4.8 e inferiores).
Debemos mencionar el hecho de que en el texto que describe las ventajas del lenguaje R, se indican una serie de deficiencias del lenguaje S y sus implementaciones de software (errores en la memoria, no compatibilidad total para varias plataformas, etc.). Además, la disponibilidad de shells de software y compiladores no está clara, quizás su costo sea alto. (Se indica que R se distribuye libremente - copyleft estándar de estilo GNU - a diferencia de los derechos de autor).
Comparación de SAS y S (programas de análisis y procesamiento de datos)
Los siguientes artículos comparan SAS y S, dos de los productos de software líderes en el mercado de software de procesamiento y análisis de datos. Ambos productos contienen sus propios lenguajes de programación y herramientas de desarrollo. El autor indica que utiliza ambos medios, pero prefiere S-Plus. Uno de los argumentos a favor del S-Plus es su menor coste.
Dr. Terry Therneau usa S-PLUS y SAS para maximizar su análisis de datos
Descripción de las aplicaciones S-PLUS para la resolución de problemas financieros
sjo inc. utiliza S-PLUS para desarrollar metodologías de negociación de futuros
Modelado financiero en S Plus
Los investigadores de mercado que buscan más de sus datos recurren a S-PLUS
Distribuidores S-PLUS - Departamento de ventas StatSci Europe https://web.archive.org/web/20100407211323/http://www.statsci.co.uk/
Fuentes de información en Internet
- Core Math LIBry es una colección de bibliotecas estadísticas en Fortran, con textos fuente proporcionados con comentarios, incluida una descripción de los métodos.
- Statlib contiene información, incluidos los códigos fuente con datos de muestra (conjuntos de datos y código). Se especifican los idiomas XLispStat , S, R, BLSS, etc.
- S-Plus, la página de inicio de MathSoft contiene información sobre los lenguajes de programación S y S-Plus.
- Software de análisis de energía para PC-s (enlace no disponible) Una extensa lista de programas diseñados para probar hipótesis estadísticas en el análisis de energía. Resumen de paquetes estadísticos y enlaces a páginas relevantes.
- Los servicios de Kovach Computing contienen una lista de sitios de procesamiento de datos estadísticos. Brinda asesoría en paquetes SIMSTAT, MVSP, Oriana.
- NetLib , https://web.archive.org/web/20000916005332/http://risc1.numis.nwu.edu/ftp/pub/list-packages.html
- NPSTAT home contiene una gran lista de métodos de última generación para el control no paramétrico y otros métodos de procesamiento estadístico (estadística en general).
Notas
Hay un análogo para SAS, desarrollado bajo GNU GPL - DAP.
DAP se escribió para ser un reemplazo gratuito de SAS. Para un programa estadístico como SPSS, también hay un análogo desarrollado bajo la licencia GNU GPL: GNU PSPP
Véase también
R (lenguaje de programación)
D (lenguaje de programación)
Plankalkül (primer lenguaje de alto nivel)
E (lenguaje de programación)
Java (lenguaje de programación)