Red de conocimiento informático - Problemas con los teléfonos móviles - Discusión de los pros y los contras de SAS vs. R: de la industria a la academia

Discusión de los pros y los contras de SAS vs. R: de la industria a la academia

SAS versus R: de la industria a la academia

Si bien la industria todavía está dominada por SAS, R se usa ampliamente en la academia debido a su naturaleza gratuita y de código abierto, ya que permite a los usuarios escribir y compartir sus propias aplicaciones. Nuestro objetivo es demostrar las fortalezas y debilidades de estos dos lenguajes tan diferentes, pero también esperamos señalar algunos de los conceptos erróneos y sesgos que provienen de personas que no han usado SAS durante años y ahora usan R porque les prestan poca atención. se ha dedicado al desarrollo y avance de SAS.

Prólogo

Elegimos SAS y R porque actualmente son los dos lenguajes de programación más utilizados en el campo de la estadística. Ahora hemos notado un fenómeno negativo, es decir, una gran cantidad de usuarios que usan R en el mundo académico creen que R tiene ventajas considerables en el mundo industrial donde domina SAS, pero para aquellos que esperan lograr pequeños logros en el campo de los datos. análisis, R Es fundamental que los jóvenes dominen ambos idiomas.

SAS a menudo tiene actualizaciones que son desconocidas para los programadores que no son SAS porque no tienen las habilidades para mantenerse al día. El módulo de trazado SAS es un ejemplo de un programa que se está desarrollando rápidamente, pero muchas personas no han notado estas actualizaciones, por lo que todavía usan R obstinadamente para dibujar curvas. Otra característica poco conocida de SAS es la facilidad con la que se pueden personalizar funciones, que es el punto fuerte de R. Los pasos de procedimiento de SAS (PROC) tienen una verificación de sintaxis integral, documentación extensa y soporte técnico; sin embargo, es probable que los nuevos usuarios no sepan que estas herramientas existen o ni siquiera que existen; Además, SAS cuenta con excelentes programas de capacitación, recursos compartidos de redes y grupos de usuarios y una gran cantidad de libros sobre una variedad de temas relacionados. Comprender y utilizar estas técnicas y herramientas de forma inteligente puede ayudar a que trabajar con SAS sea menos difícil.

Nuevos avances en métodos estadísticos

SAS:

Ventajas: el software y los algoritmos de SAS están probados en el tiempo y SAS cuenta con el soporte técnico para satisfacer rápidamente las necesidades de los usuarios. . Si es necesario, SAS intenta incorporar nuevos métodos en los pasos existentes, como agregar una opción o una nueva declaración, para que el usuario no necesite aprender otro paso del proceso.

Desventajas:

Desventajas: Actualizaciones lentas.

R:

Ventajas: Los usuarios pueden implementar rápidamente nuevos métodos o encontrar paquetes existentes. Dado que los estudiantes pueden ver las funciones en el código, es fácil aprender y comprender nuevos métodos.

Desventajas: Las actualizaciones de la documentación de R las realizan los usuarios, por lo que los nuevos métodos no se depuran ni prueban bien. Los desarrolladores están dispersos en varias ubicaciones y no pueden trabajar juntos como equipo.

En este tema, las ventajas y desventajas de SAS y R son complementarias. Para R, algunas personas piensan que el código está abierto y se puede ver cómo funciona R, lo cual es más fácil de entender para personas con experiencia relevante. Sin embargo, para SAS, los pasos del programa están precargados y los archivos almacenan una gran cantidad de fórmulas matemáticas para diferentes declaraciones (Statements) y opciones (Options). Si el usuario realmente quiere ver el programa subyacente, puede hacerlo fácilmente. Para los usuarios de ambos idiomas, ya sean estudiantes o no, no hay diferencia entre los dos idiomas siempre que ejecuten el código. Cuando ejecuta SAS, no necesita saber qué está haciendo; de manera similar, cuando ejecuta R, no necesita saber qué funciones está llamando internamente. Todo lo que tienes que hacer es seguir los capítulos.

Trazado

SAS:

Ventajas: El módulo de trazado SAS es cada vez más flexible, sofisticado y fácil de usar. ODSGraphics puede generar automáticamente ciertos gráficos durante ciertos pasos del proceso de análisis (PROC) sin requerir código adicional. De esta manera, los usuarios pueden optar por generar gráficos utilizando los gráficos predeterminados o crear sus propios gráficos personalizados.

Desventajas: El lenguaje de plantilla (TL) detrás de los gráficos es grande y difícil de usar, especialmente para principiantes. Las nuevas funciones avanzadas, como los gráficos interactivos, también pueden resultar difíciles de dominar para los principiantes.

R:

Ventajas: Fácil de generar gráficos hermosos y puede usar bucles para generar animaciones.

Desventajas: en R, la función de gráficos no tiene nada que ver con el análisis estadístico, y el trazado y el análisis son independientes entre sí.

Los usuarios deben decidir por sí mismos qué gráficos son apropiados y la eficacia de un gráfico depende de los conocimientos estadísticos y las preferencias del usuario. Aunque cambiar una figura para conseguir una dimensión o ángulo concreto no es una cuestión sencilla.

La falta de capacidades gráficas en versiones de SAS anteriores a la 9.2 es una de las principales razones por las que R es más atractivo, y uno de los mejores atributos de R es la alta calidad y facilidad de uso de sus capacidades gráficas. Sin embargo, los procesos actuales SAS/GRAPH, ODSGraphics y SG añaden capacidades gráficas al software. Al utilizar gráficos ODS junto con PROCS, los usuarios pueden generar fácilmente gráficos de visualización relevantes para el análisis. Los programas de trazado específicos como PROCSGPLOT, SGPANEL y SGSCATTER son cada vez más comunes y, por supuesto, requieren algo de código para implementarlos. Además, existen otras excelentes opciones de trazado en SAS, como SGDESOGNER y SAS Enterprise Guide.

Funciones y código reutilizable

SAS:

Pros: SAS tiene una gran cantidad de funciones y personalizaciones disponibles para los pasos de DATOS y PROC. Además, está disponible un lenguaje de macros potente y versátil en los pasos DATOS y PROC. Las variables macro se pueden definir como tipos locales o globales.

Desventajas: escribir funciones personalizadas y código de macro detallado requiere un conocimiento profundo de programación para garantizar la corrección.

R:

Ventajas: escribir funciones en R es muy fácil y los usuarios pueden compartir funciones con otros usuarios cargándolas en R-CRAN.

Desventajas: escribir funciones personalizadas requiere un conocimiento profundo de programación para garantizar su corrección. Las variables están estrictamente localizadas. Ambos programas de software tienen ventajas y desventajas similares a este respecto. Los primeros usuarios de SAS dependían principalmente de la escritura de macros cuando ejecutaban sus propias funciones personalizadas, razón por la cual los usuarios de R las encontraban ineficientes y torpes. Sin embargo, PROCFCMP en SAS versión 9 permite a los usuarios escribir funciones personalizadas y SAS versión 9.2 permite a los usuarios llamar a estas funciones en pasos de DATOS y PROC. Esto es útil para funciones estadísticas simples, mientras que se pueden implementar funciones estadísticas más complejas en el lenguaje IML.

Tanto SAS como R enfrentan el desafío de usar funciones de manera eficiente y correcta, lo que requiere una sólida experiencia en programación en escritura de funciones. El lado positivo es que los programadores necesitan saber lo que están escribiendo; el peligro es que alguien más pueda descargar una macro SAS o un paquete P y usarlo aunque no conozca su funcionamiento interno o incluso si es correcto. Por lo tanto, siempre que las macros y funciones se comprendan correctamente, se pueden compartir y aplicar fácilmente a necesidades específicas.

Soporte al usuario

SAS:

Ventajas: SAS tiene abundantes materiales de referencia en línea, soporte técnico profesional, cursos de capacitación especializados y muchos libros excelentes publicados, un cierre -Grupo de usuarios tejido y comunidad en línea. Si tiene problemas al utilizar SAS, puede comunicarse con el soporte técnico directamente y ellos trabajarán con el usuario para resolver el problema.

R:

Ventajas: R tiene un buen manual de ejemplo, material de referencia en línea, lista de correo de R y reunión de R.

Desventajas: Los usuarios dependen de otros usuarios para obtener sus opiniones y sugerencias sobre el software. Dado que los desarrolladores de R están dispersos por todo el mundo, faltan conexiones globales. Los paquetes no están escritos por un equipo central de desarrolladores de R, lo que da como resultado programas imperfectos y, a veces, incluso dudas sobre la exactitud de los resultados. Además, puede resultar difícil contactar directamente a la persona o al equipo que trabaja en un problema específico.

Procesamiento de Datos

SAS:

Ventajas: SAS puede procesar datos de cualquier tipo y formato. El paso DATOS está diseñado exclusivamente para la gestión de datos, por lo que SAS es bueno para manejar datos. Con sus ricas opciones, SAS maneja bien big data, mientras que la unión de tablas y PROC SQL también mejoran los tiempos de ejecución.

Desventajas: SAS utiliza un algoritmo de bucle no explícito en el paso de DATOS, por lo que es necesario cambiar el pensamiento de programación del usuario para cumplir con la lógica operativa de SAS.

R:

Ventajas: R se consideró inicialmente más adecuado para big data. Está diseñado para realizar operaciones matriciales y clasificar de manera muy eficiente. R también funciona bien para una variedad de simulaciones de datos basadas en análisis.

Desventajas: el diseño de R se centra más en capacidades gráficas y de computación estadística, por lo que la gestión de datos requiere mucho tiempo y no es tan explícita como SAS. Una de las principales razones de esto es que es difícil dominar buenos métodos de manipulación de datos en R para todos los diferentes tipos de datos.

En la programación estadística, a menudo se pasa por alto la importancia del procesamiento de datos, pero de hecho es crítico porque los datos reales son demasiado malos para ser aplicados directamente al análisis. Los estudiantes que trabajan exclusivamente con R a menudo tienen expectativas poco realistas sobre los datos que obtienen, mientras que aprender SAS es una forma eficaz de descubrir cómo organizar los datos sin procesar. SAS puede gestionar y analizar conjuntos de datos grandes y difíciles de manejar, mientras que R se centra más en realizar análisis.

Las estructuras de datos orientadas a objetos de R encuentran muchos problemas cuando se trata de datos complejos, y R también carece de procedimientos de bucle integrados. En SAS, la aplicación de herramientas de estandarización a menudo implica fusionar conjuntos de datos complejos que contienen grandes cantidades de datos faltantes y luego generar y modificar variables. En R, la realización de operaciones complejas de procesamiento de datos no está estandarizada y, a menudo, conduce a procesos más complejos.

La velocidad del software SAS y R depende de la tarea. Por ejemplo, puede hacer que SAS se ejecute más rápido configurando MEMLIB para que use memoria (en lugar de disco duro) como lo hace R. Sin embargo, en R, no existe dicho controlador de hardware y la ejecución sólo se puede realizar utilizando la memoria.

Informes

SAS:

Ventajas: SAS puede generar informes hermosos y detallados con muchos pasos de proceso útiles.

Desventajas: Los programas que proporcionan informes más detallados, como TABULATE, REPORT, etc., requieren una curva de aprendizaje pronunciada antes de poder utilizarlos de forma correcta y eficaz.

R:

Ventajas: cuando se trata de informes, R tiene muchas herramientas. El paquete Sweave crea archivos PDF que contienen texto, tablas y gráficos que se pueden disfrazar usando comandos LaTeX y R. Otro paquete nuevo, Knitr, puede generar rápidamente contenido web con menos restricciones de formato.

Desventajas: R no tiene una forma modal de generar informes, por lo que se requiere algo de trabajo de programación. La generación de informes es una dirección relativamente nueva para R, por lo que no es tan fácil y rápida como SAS. En R, Sweave y Knitr son los paquetes principales para generar informes, pero pueden resultar difíciles de aprender.

Los usuarios que realizan muchos informes deben ser conscientes de estas diferencias y, si bien aprender las capacidades de generación de informes de SAS lleva algún tiempo, una vez dominadas son extremadamente valiosas y altamente flexibles. Es posible que aprender las capacidades de generación de informes de R desde cero no lleve tanto tiempo como con SAS.

Conclusión

Podemos ver que hay tres formas de resolver la disputa entre R y SAS. Primero, como ocurre con cualquier comunidad de programación estadística, sabemos que no hay un ganador final en esta PK. Ambos programas tienen sus pros y sus contras. ****, su existencia también es necesaria en la enseñanza académica. Se lograrán mejores resultados si los estudiantes identifican sus necesidades y las aplican sabiamente. Enseñar a los estudiantes solo un tipo de software es limitante y les impide desarrollar su potencial al aprender otro tipo de software. En segundo lugar, los usuarios necesitan actualizar constantemente su caja de herramientas. Existen algunos buenos sitios web de aprendizaje para SAS y R que presentan los últimos avances técnicos. En tercer lugar, lo ideal es aprender ambos software e integrarlos en su análisis. Para los usuarios de R, es posible utilizar ambos programas simultáneamente convirtiendo la interfaz de usuario de R a SAS. Al utilizar ambos software, puede procesar y analizar datos con menos esfuerzo, haciendo felices a todos sus usuarios.