Cuando estaba enseñando estadísticas a nivel de posgrado, les decía a mis alumnos: "No me importa qué paquete usen, y pueden usar cualquier cosa para su tarea, ya que espero que proporcionen explicaciones sustantivas, y quitaré puntos si yo ver tr23y5m
nombres de variables en sus envíos. Puedo apoyar su aprendizaje muy bien en Stata, y razonablemente bien, en R. Con SAS, usted está solo, ya que afirma haber tomado un curso en él. Con SPSS o Minitab, Dios los bendiga ". Me imagino que los empleadores razonables pensarían lo mismo. Lo que importa es su productividad en términos de los resultados del proyecto. Si puede lograr el objetivo en R con 40 horas de trabajo, está bien; si puedes lograrlo en C ++ en 40 horas de trabajo, bien; si sabes cómo hacer esto en R en 40 horas, pero tu supervisor quiere que hagas esto en SAS, y tienes que pasar 60 horas solo para aprender algunos conceptos básicos. y dónde van los puntos y comas, eso solo puede ser sabio en el contexto de la imagen general del resto del código que está en SAS ... y luego el gerente no fue muy sabio al contratar a un programador R.
Desde esta perspectiva del costo total, el "libre" R es un mito enormemente exagerado. Cualquier proyecto serio requiere un código personalizado, aunque solo sea para la entrada de datos y el formato de la salida, y ese es un costo no diferente de tiempo profesional. Si esta entrada y formato de datos requiere 10 horas de código SAS y 20 horas de código R, R es un software más costoso al margen , como diría un economista, es decir, en términos del costo adicional para producir una determinada funcionalidad. . Si un gran proyecto requiere 200 horas de tiempo del programador R y 100 horas de tiempo del programador Stata para proporcionar una funcionalidad idéntica, Stata es más barato en general, incluso representando la licencia de ~ $ 1K que necesita comprar. Sería interesante ver tales comparaciones directas; Participé en la reescritura de un enorme lío de 2Mb de código SPSS que se dijo que se acumuló durante aproximadamente 10 años-persona en ~ 150K de código Stata que se ejecutó casi tan rápido, puede ser un poco más rápido; eso fue alrededor de 1 persona por año. No sé si esta relación de eficiencia 10: 1 es típica para las comparaciones SPSS: Stata, pero no me sorprendería si lo fuera. Para mí, trabajar con R siempre es un gran gasto debido a los costos de búsqueda: tengo que determinar cuál de los cinco paquetes con nombres similares hace lo que necesito hacer, y evaluar si lo hace de manera confiable para que pueda usarlo en mi trabajo. A menudo significa que es más barato para mí escribir mi propio código Stata en menos tiempo de lo que pasaría descubriendo cómo hacer que R funcione en una tarea determinada. Debe entenderse que esta es mi idiosincrasia personal; La mayoría de las personas en este sitio son mejores usuarios que yo.
Es curioso que su profesor prefiera Stata o GAUSS sobre R porque "R no fue escrita por economistas". Tampoco Stata o GAUSS; están escritos por informáticos utilizando las herramientas de los informáticos. Si su profesor tiene ideas sobre programación de CodeAcademy.com, eso es mejor que nada, pero el desarrollo de software de nivel profesional es tan diferente de escribir en el cuadro de texto de CodeAcademy.com como conducir un camión de carga es diferente de andar en bicicleta. (Sin embargo, Stata fue iniciada por un economista laboral convertido en informático, pero no ha estado haciendo esto en economía laboral por cerca de 25 años).
Actualización : como AndyW comentó a continuación, puede escribir un código terrible en cualquier idioma. La cuestión del costo se convierte en qué idioma es más fácil de depurar. Para mí, esto parece una combinación de cuán precisa e informativa es la salida, y cuán fácil y transparente es la sintaxis en sí misma, y no tengo una buena respuesta para eso, por supuesto. Por ejemplo, Python aplica la sangría de código, lo cual es una buena idea. Los códigos Stata y R se pueden plegar sobre los corchetes, y eso no funcionará con SAS. El uso de subrutinas es una espada de dos filos: el uso de *apply()
ad-hoc function
en R es obviamente muy eficiente, pero más difícil de depurar. De manera similar, Stata local
s puede enmascarar casi cualquier cosa, y el valor predeterminado de una cadena vacía, aunque es útil, también puede conducir a errores difíciles de atrapar.