Aprendí R pero parece que las empresas están mucho más interesadas en la experiencia SAS. ¿Cuáles son las ventajas de SAS sobre R?
Aprendí R pero parece que las empresas están mucho más interesadas en la experiencia SAS. ¿Cuáles son las ventajas de SAS sobre R?
Respuestas:
Creo que hay varios problemas (en orden ascendente de posible validez):
Personalmente, solo creo que el n. ° 3 tiene algún mérito legítimo, aunque existen enfoques para el big data que se han desarrollado con R. Los problemas con el n. ° 1 hablan por sí mismos. Creo que el n. ° 2 ignora varios hechos: hay algunas investigaciones que continúan con R, muchos de los paquetes principales están escritos por algunos de los nombres más importantes en estadística, y se han realizado estudios que comparan la precisión de diferentes programas estadísticos y R Ciertamente ha sido competitivo.
lme4
lista de correo que las comparaciones con SAS aparecen con bastante frecuencia. Pero es imposible saber si incluso deberíamos hacer tales comparaciones. Sin acceso a la fuente, tenemos que tomar en cuenta a esas compañías que los resultados producidos por su software son realmente válidos. Francamente, prefiero tener la capacidad de revisar el código de software que uso.
Además de las buenas respuestas hasta ahora, agregaría el factor de vergüenza. Si gastó cientos de miles de dólares el año pasado en soporte SAS y SAS, y propone no gastar nada en R, con precios de soporte extremadamente bajos (Revolution, etc.), alguien de la cadena va a preguntar por qué. ¿Fue un error gastar tanto dinero el año pasado cuando R existió el año pasado? ¿O es un error dejar el software profesional para algo creado por un grupo de voluntarios?
Una vez que el problema se enmarca de esa manera, es una propuesta de perder-perder, por lo que quizás sea mejor no mencionarlo.
Además de lo que Gung ha identificado correctamente aquí, el mayor problema en el mundo corporativo es el legado. Y cuando tiene un código de producción de buena calidad que se sabe que hace el trabajo, no lo cambia. SAS estuvo en el mercado desde la década de 1970, y en ese momento era el único lenguaje estadístico efectivo de scripting para los estándares. La cantidad de código de producción acumulada desde entonces en SAS en farmacéutica y gobierno es inimaginable, decenas de miles de años humanos. Reescribir esto en R o Stata llevaría algunos años, el código resultante se volverá más flexible, más eficiente, más transparente, más fácil y más barato de mantener, pero nadie pagará por dicha refactorización. (Mi experiencia al hacer esto es que mi código Stata es generalmente tres veces más corto; una vez tuve un proyecto que convertía el código SPSS en Stata donde lo hice unas 20 veces más corto.
En cierto sentido, esta es una historia similar con los editores académicos: están manejando una marea de usuarios finales que mantienen sus suscripciones por necesidad; Una universidad sin suscripción a la naturaleza no es realmente una universidad. La publicación gratuita a través de sociedades profesionales lo hará más barato, la gente prepara sus presentaciones en LaTeX en estos días, por lo que están listos para la cámara, y las mismas personas proporcionarán la revisión por pares, por lo que no habrá un retroceso de calidad en ninguna de las dimensiones. Pero ... no hay una marca y el factor de impacto detrás de las revistas en línea.
Esto lo resume todo: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata es preferida en los círculos relacionados con la economía y las políticas, y cuanto más aprendo SAS, más me gusta Stata.
He trabajado de manera efectiva como programador de SAS durante los últimos siete años, junto a mí un compañero de trabajo ha estado programando SAS más tiempo de lo que he estado vivo. Como se señaló aquí, hay una gran cantidad de inercia / legado detrás de SAS; pero SAS al igual que R es un camino hacia un medio, no el medio en sí mismo.
SAS es extremadamente eficiente en el acceso secuencial a datos, y el acceso a la base de datos a través de SQL está extremadamente bien integrado. Los PROC están muy bien documentados, pero desafortunadamente no están completamente estandarizados con notación (PROC OPTMODEL e IML son dos ejemplos). Es un poco torpe cuando se trata de escribir código complicado, y no es tan elegante para el código paralelo. También he encontrado que la importación de archivos csv es una fuente de gran miseria a veces y prefiero simplemente volcarlo a R primero y luego a una base de datos.
Aunque SAS tiene interfaces para objetos compartidos y archivos DLL, no tiene un buen acceso a ningún archivo de encabezado ni nada por el estilo, y la distribución de código tampoco está disponible a través de paquetes felices.
Sin embargo, existe poca preocupación acerca de alguien que incluya algún paquete esotérico ahora obsoleto o roto en su código que ahora necesita mantener, y la calidad del código en SAS tiende a ser uniformemente excelente (el código central R también es excelente, y también libremente disponible para cualquier persona).
Como se mencionó anteriormente, SAS también es extremadamente costoso, pero es una buena herramienta a la que recurro cuando sé que hay un procedimiento fijo que funciona bien para mis necesidades.
R + SAS + mysql con un poco de perl para unirlos funciona increíblemente :)
dplyr
biblioteca: literalmente traduce la sintaxis R / dplyr en SQL y llama a la base de datos, puede decidir qué operaciones hacer en el servidor db y qué localmente usando la misma sintaxis: cran.r-project. org / web / packages / dplyr / vignettes / bases de datos.html
Así que uso tanto R como SAS, ciertamente en la academia, pero hay algunas razones por las que tiendo a dirigirme hacia SAS a veces:
Nadie ha sugerido que la razón por la que se prefiere es la simple idiotez. Aquí hay dos citas que encontré recientemente:
"El uso de software de código abierto como R estaba fuera de discusión; no podíamos garantizar un resultado perfectamente repetible"
y
"No podríamos proporcionar ningún soporte para esto, ya que es un software de código abierto"
Dos minutos con estas personas les mostrarían cuán equivocados están.
Un problema no parece haber sido abordado explícitamente: cubrirse el culo. Si va con SAS y las cosas explotan, el tomador de decisiones siempre puede decir que compró software de última generación, y ¿cómo iba a saber que se rompería? Si decidió ir con R, este argumento será más difícil de hacer. Sí, esto está relacionado con el argumento de inercia ya mencionado aquí.
Hace unas décadas, solían decir que "nunca se despidió a ningún chico por comprar IBM" , que se ha llamado la mejor frase de marketing de la historia.
Como usuario de SAS y R, diría que la razón más importante por la que usamos SAS sobre R (cuando lo hacemos) es su capacidad de procesamiento secuencial. Solo necesitamos máquinas con no más de 4 GB de RAM para procesar 15 años de datos. Necesitaría una máquina mucho más grande con el stock R y no he tratado de migrar el código SAS para ejecutarlo con Revolution R.
A partir de 2015, los actuarios menores de aproximadamente 35 años prefieren usar R: los libros de texto usan código R y SAS. Los actuarios más antiguos nunca aprendieron a usar R y prefieren SAS y no usan R. La proporción de actuarios que realmente codifican en SAS disminuirá.
Si busca en Google Scholar artículos que se refieran a SAS, encontrará un número constante de publicaciones de 550 por año durante los últimos años. Si busca documentos con R ("Fundación R para la computación estadística"), había 25.100 en 2014 y, a mediados de julio de 2015, había 16.700. Trazando la tasa, ¡está creciendo muy rápido!
SAS no se ayudó a sí misma durante unos años al exigir grandes tarifas de licencia a las universidades, lo que han revertido desde entonces, pero ahora es demasiado tarde, muchas universidades se han convertido a la enseñanza usando R y no SAS.
Se publican nuevas técnicas estadísticas en documentos junto con un paquete R. Algunas técnicas que han estado en la base R durante años todavía no han aparecido en SAS. Ahora puede usar R desde dentro de SAS.
En resumen, las cosas están cambiando y cambiando rápidamente.
En la industria farmacéutica, se usa SAS porque es lo que la FDA usa y le gusta. Sin embargo, hay algunas razones serias. Los resultados son trazables y la salida tiene una marca de tiempo. Los estadísticos de la FDA pueden verificar lo que obtienes. Es muy bueno para la gestión de bases de datos y es un software confiable. Por supuesto, se puede argumentar que muchos de los atributos de SAS están presentes en otros paquetes de software, incluidos R y SAS, que son caros. Aún así, creo que cualquiera que quiera ser un estadístico aplicado que trabaje en la industria será mejor que al menos aprenda a programar en SAS. Use R o STATA si lo prefiere pero conoce SAS. Cuando trabajas para una empresa que quiere que uses SAS, pagarán por la licencia.
Creo que esta cita de Anne H. Milley resume la forma en que mucha gente piensa acerca de R:
Tenemos clientes que fabrican motores para aviones. Estoy feliz de que no estén usando software gratuito cuando me subo a un avión.
Desafortunadamente, creo que este concepto erróneo (gratis == inferior) es común en el público en general.
(ligeramente fuera de tema): viéndolo al otro lado: algunas de las ventajas que R tiene en la academia no se aplican a la industria.
Por ejemplo, en la academia es una clara ventaja si puedes decirles a los estudiantes que vayan a buscar el software y trabajen en casa. En la industria, no se supone que lleves datos a casa ...
Tampoco se supone que pruebe algunas cosas (TM), descargue toneladas de paquetes (incluso si son de buena reputación y probados), use métodos de vanguardia. En su lugar, generalmente se espera que se adhiera a los métodos y códigos que se han utilizado durante años y en los que el comportamiento se conoce desde hace siglos. No ganarías muchos méritos académicos con eso.
Y, por supuesto, como se ha mencionado: nadie se arriesgará a rehacer todo tipo de aprobación regulatoria en aras de cambiar a R. De lo que he visto, eso es menos sobre R y más sobre los enormes costos + trabajo para obtener la aprobación regulatoria .
Si bien es bastante pesimista, mi respuesta sería que el tipo de personas que toman decisiones radicales en corporaciones como 'solo usamos SAS' también son el tipo de personas que no confían en lo que no entienden y piensan automáticamente en el valor de algo es directamente proporcional a la cantidad de dinero que gasta en ello. Esto los lleva a preferir pagar por SAS en lugar de pasar tiempo investigando alternativas.
¿Por qué una importante compañía farmacéutica incluso querría convertir a R de SAS? SAS cuesta millones pero no es nada para una compañía farmacéutica. Sin embargo, convertir todos los sistemas de informes estables de SAS a R costaría 50-100 veces más.
SAS tiene un sistema de soporte fenomenal: cada vez que necesitaba ayuda, podían proporcionarla en pocas horas.
Y qué tiene exactamente R que SAS no: 1) mejores gráficos ... bueno, es grande pero los gráficos no lo son todo. Además de R, siempre se puede usar una herramienta adicional para crear algunos gráficos geniales y SAS no es tan malo cuando se trata de gráficos 2) lenguaje de programación moderno y más eficiente. Muchos usuarios de SAS no son programadores y no les importa usar un lenguaje genial. Solo quieren poder analizar los datos.
Me encanta R pero sería una locura que una gran empresa se convirtiera a SAS. Aunque podría tener sentido para las empresas más pequeñas
Hay varias ventajas principales, sin ningún orden en particular.
Estoy evitando a propósito el uso de términos peyorativos como "legado" o "hábito". Muchas empresas han estado utilizando SAS durante 30 o 40 años, y tienen millones de líneas de código de trabajo. Además, existen todos los beneficios de una base de código estable con millones de días de usuario en un área donde los errores pequeños pueden ser críticos. Esta es la misma razón por la que los sabores de Unix siguen siendo populares a pesar de que Unix tiene más de 40 años y está obsoleto de alguna manera. Finalmente, hay una gran comunidad de profesionales SAS con experiencia que están acostumbrados a resolver problemas de negocios.
Las empresas tienen muchas fuentes de datos diferentes, basadas en diferentes tipos de sistemas, así como en muchos casos, múltiples entornos operativos. R recientemente obtuvo algunas capacidades extremadamente básicas para lidiar con más de lo que se puede guardar en la memoria. Compare esto con la capacidad de SAS de admitir el procesamiento nativo, optimizado en la base de datos para terradata, por citar solo un ejemplo. En la mayoría de las situaciones del mundo real, la parte más difícil de la analítica es tratar con los datos y el entorno operativo. (¿necesita ejecutar su código de puntuación de modelo desarrollado por Windows en el mainframe? Con SAS, no hay problema. Con R, no tiene suerte.) R no resuelve ninguno de esos problemas.
Un usuario de SAS puede estar razonablemente seguro de que cada módulo de código ha sido probado por personas calificadas. No es necesario dedicar tiempo y esfuerzo a aprender la procedencia del código o validarlo independientemente. Además, si se encuentran problemas de cualquier tipo, asistencia robusta (desde algo tan básico como documentación hasta algo tan completo como la exploración detallada de resultados inesperados o el comportamiento de un método sofisticado) el usuario puede levantar el teléfono y obtener ayuda.
El lenguaje apaga a algunas personas porque es diferente a los lenguajes modernos para la programación general. Dicho esto, el lenguaje es de alto nivel, potente, expresivo e integral. En resumen, una vez que lo aprende, hace el trabajo. Para las empresas, la elegancia de la solución no es un gran punto de venta.
Atención al cliente.
Una vez conversé con un amigo que trabajaba en una empresa especializada en la instalación de servidores, y luego me explicó por qué las grandes empresas siempre optan por los productos de Microsoft en lugar de ir a código abierto. La ventaja que Microsoft tiene sobre sus competidores de código abierto es la atención al cliente. Si algo sale mal con el producto, la compañía puede llamar a Microsoft, las grandes compañías incluso tienen soporte personalizado para ellos. No es así con el software de código abierto.
Creo que esa es exactamente la misma razón por la que SAS está teniendo prioridad sobre R.
¿Qué pasa con Frontends? ¿Cuál es el equivalente de R para SAS Enterprise Guide, Web Report Studio o Enterprise Miner? Editar: estas herramientas hacen posible que un Usuario no programado use un ALMACÉN DE DATOS, sin conocimiento de la tecnología subyacente. No son principalmente herramientas para el uso de SAS como tal. R GUI son solo IDE para el lenguaje / sistema R, AFAIK. No pueden proporcionar ayuda para el usuario no técnico que desea obtener información y conocimiento del DWH.
Una vez trabajé para una empresa de consultoría que brindó asistencia de SAS a un gran fabricante de chips en Silicon Valley. Nuestra persona de contacto en la compañía nos dijo que recibió una oferta de otra compañía para brindarles exactamente la misma consultoría, utilizando un software diferente que cubre todas las áreas cubiertas por SAS y que le costaría a la compañía una fracción de lo que SAS les estaba cobrando. ( $ 30,000 en lugar de $ 1,000,000). La persona de contacto consideró qué hacer y decidió no informar a su jefe sobre la oferta porque temía ser despedido por usar SAS en primer lugar y no considerar alternativas más baratas. En cambio, insistió en que nuestra compañía de consultoría le diera a su compañía una gran oportunidad en nuestra tarifa de consultoría. Nuestra compañía estuvo de acuerdo.
No creo que se haya mencionado la seguridad de las aplicaciones. Esta pregunta se planteó en Stack Overflow pero se eliminó porque estaba fuera del tema.
Colaboro con la Junta Nacional de Salud y Bienestar de Suecia que utiliza SAS. Cuando hablé con sus estadísticos (que, como R), afirman que sus empleados de TI prefieren SAS, ya que no confían en los paquetes descargados en R. Mi esposa también trabaja en SAS y su institución a menudo reclama el mismo problema ...
Me encantaría ver algunos comentarios sobre este tema. He hecho una búsqueda rápida pero no he encontrado ninguna buena referencia ...
La razón por la que entendí que era la más convincente fue que SAS tiene una amplia biblioteca de módulos verticales de negocios específicos que todas las personas en estas verticales utilizan, por lo que es algo así como un bloqueo.
Pero también que SAS ha abordado las necesidades de estos segmentos verticales en los negocios y optimizado en torno a sus necesidades, optimizado en el sentido de "el usuario no tiene que hacer mucho trabajo adicional para obtener los resultados". No soy un usuario de SAS, por lo que esto no pretende ser una defensa parcial de la estrategia comercial de SAS.
Siendo el gran producto comercial que es SAS, los vendedores pagados hacen un esfuerzo fuerte y coordinado para promocionarlo. No creo que los esfuerzos para promover el uso de R puedan igualarlos.
Miro Open Source o software con licencia como este, ya sea SAS o cualquier otra cosa. Mi departamento de TI está allí para brindar un servicio a nuestro negocio. La empresa no gana dinero con TI, solo con el negocio que TI admite. El negocio tiene ingresos anuales de $ 16 mil millones. Cuesta alrededor de $ 200 millones al año. Si el problema fuera el dinero, reduciría los costos, pero si ahorro el 10% ( $ 20 millones) de mi presupuesto, ¿se dará cuenta la empresa? ¿Reducirán mi presupuesto el año que viene? Si la TI falla, la empresa pierde ingresos, cuánto variará según la naturaleza de la falla. Es posible que partes del negocio ya no obtengan ingresos. Si un producto como SAS falla, puedo demandar bajo un contrato. Si un producto OSS falla, no puedo. No recuperaré mis $16 mil millones, pero puedo recuperar algo, y de manera realista con SAS, es poco probable que pierdas el lote. La diferencia de precio versus costo tiene que justificar cualquier riesgo adicional percibido para el negocio. A veces es más barato quedarse con SAS que volver a entrenar. A veces hay problemas de mayor prioridad, por lo que las empresas se quedan con SAS. Algunas compañías no necesitan la funcionalidad completa, en cuyo caso las alternativas son viables. Algunos no necesitan el apoyo y nuevamente las alternativas son viables. Si cumple con los requisitos comerciales, cualquiera de las opciones es válida; si desea brindar asistencia para un negocio, debe considerar el costo total de propiedad durante 5-10 años, la capacidad de reclutar expertos en las herramientas, la estabilidad en el producto para que no tenga que reescribir todo con cada nueva versión, los cursos de capacitación disponibles para mejorar,
Algunas razones que no he visto mencionaron:
Mejor documentación La documentación de SAS es detallada, la documentación de R es concisa. Muchas compañías pueden preferir documentación detallada.
Mejores mensajes de error. Los mensajes de error de R a menudo parecen diseñados para demostrar que la persona que escribe el mensaje es más inteligente que la persona que lo lee.
Apoyo técnico. SAS tiene el mejor soporte técnico con el que me he encontrado en cualquier lugar, proporcionado por SAS. Puede obtener ayuda con R, pero esa ayuda está dispersa en diferentes lugares y no siempre está disponible. Las personas en los diversos sitios que brindan ayuda con R son voluntarios, y los voluntarios no están obligados a ayudar. A las personas en el soporte técnico de SAS se les paga por hacer lo que hacen, y lo hacen bien. No solo lo hacen bien, lo hacen cortésmente, un rasgo que a menudo no está presente en todas las comunidades R (¿mi favorito? "Obtuve ayuda escribiendo 'help', ¿por qué no intentas escribir 'help'?")
Creo que el ángulo heredado puede ser grande por la siguiente razón. Una organización contrata a una persona, llámela persona X. Son un gurú de la informática / asistente / etc. Construyen increíbles programas / herramientas SAS, etc. Son tan buenos que otras personas en la organización no sienten que necesitan entender cómo funcionan los programas. Hacen que sea tan fácil presionar un botón, y todo funciona (las cajas negras mágicas).
La persona X abandona la organización. Desafortunadamente, el conocimiento que tiene la persona X deja la organización (no se priorizó la documentación y la gestión del conocimiento, sino los programas de trabajo). Se reemplazan por la persona Y. La persona Y es excelente con R pero no tiene idea de SAS y, por lo tanto, no tiene idea de cómo funcionan realmente los programas de SAS. Hay una gran curva de aprendizaje para incluso descubrir quées significativamente mayor que una licencia de un año para SAS. Espero que SAS haga un análisis de esta compensación, y deje que esto influya en cómo establece la tarifa de la licencia (bueno, lo haría si trabajara en SAS). Observe también cómo los procedimientos de trazado de SAS son mucho mejores que hace una década más o menos (por ejemplo, proc sgplot vs proc plot). coincidencia de que R hizo un buen plan primero? ¡Yo creo que no! Esto reduce efectivamente la eficiencia del cambio porque el trazado ya no es tan diferente: R sigue siendo mejor, pero no lo suficiente como para cambiar ...
Para las estadísticas industriales, hay personas de garantía de calidad que (generalmente) no tienen programación, estadísticas o antecedentes científicos y que auditan a estadísticos, programadores y científicos. Quieren saber, "¿Cómo sabes que lo que estás haciendo es correcto?" y "Si está mal, ¿cómo podemos culpar a alguien y cómo van a pagarlo?".
La licencia GNU / GPL Copyleft viene con texto enlatado que dice: "R es software libre y NO VIENE ABSOLUTAMENTE GARANTÍA" en texto en mayúsculas exactamente como lo he escrito. Esto es desagradable. Cuando una persona de calidad lee este texto, básicamente desacredita a R directamente. Quiero decir, si un producto es bueno, vale la pena agregar una garantía ¿verdad? Tales productos comerciales nos han hecho creer. De hecho, fue en última instancia la FDA quien dijo que aceptaría las presentaciones regulatorias en R que reflejaban un cambio radical en la industria del software. (Tenga en cuenta que esta declaración viene después de la fecha de publicación original de la pregunta).
Para alguien que no sabe nada sobre computadoras, los escenarios imaginarios de seguridad, irreproductividad y graves errores científicos son ilimitados como resultado de esta ABSOLUTAMENTE FALTA DE GARANTÍA. Todos estamos de acuerdo en que los errores pueden tener costos catastróficos. Para su licencia de SAS, SAS tiene expertos que pueden explicar su software a los auditores, y en el escenario imposible de que SAS realmente cause tal problema, pueden ser responsables de multas y castigos (también tienen suficiente dinero para que los abogados se aseguren de que lo hagan). exonerarse por completo en tal caso). La carga y el costo de tener un analista / programador presente este caso para R básicamente equivale a una licencia SAS. ¡No es que la programación en SAS lo exonere completamente de la abrumadora carga del cumplimiento de la calidad!
Básicamente, diría que la litigiosidad ha desempeñado un papel destacado en la necesidad de un software de licencia costoso.