Cuando enseñaba estadística a nivel de posgrado, les decía a mis alumnos: "Me da igual el paquete que utilicéis, y podéis utilizar cualquier cosa para vuestros deberes, ya que espero que proporcionéis explicaciones sustanciales, y os quitaré puntos si veo tr23y5m
nombres de variables en sus envíos. Puedo apoyar tu aprendizaje muy bien en Stata, y razonablemente bien, en R. Con SAS, estás por tu cuenta, ya que afirmas haber tomado un curso en él. Con SPSS o Minitab, que Dios te bendiga". Me imagino que los empleadores razonables pensarían lo mismo. Lo que importa es tu productividad en cuanto a los resultados del proyecto. Si puedes lograr el objetivo en R con 40 horas de trabajo, bien; si puedes lograrlo en C++ en 40 horas de trabajo, bien; si sabes hacerlo en R en 40 horas, pero tu supervisor quiere que lo hagas en SAS, y tienes que dedicar 60 horas sólo para aprender algunos conceptos básicos y dónde van los puntos y comas, eso sólo puede ser sensato en el contexto de que el resto del código esté en SAS... y entonces el jefe no fue muy sensato al haber contratado a un programador de R.
Desde esta perspectiva del coste total, la "gratuidad" de R es un mito enormemente exagerado. Cualquier proyecto serio requiere código personalizado, aunque sólo sea para la entrada de datos y el formateo de la salida, y eso es un coste no nulo de tiempo profesional. Si la entrada de datos y el formateo requieren 10 horas de código SAS y 20 horas de código R, R es un software más caro al margen como diría un economista, es decir, en términos de coste adicional para producir una determinada funcionalidad. Si un gran proyecto requiere 200 horas de tiempo de un programador de R y 100 horas de un programador de Stata para proporcionar una funcionalidad idéntica, Stata es más barato en general incluso teniendo en cuenta la licencia de ~1.000 dólares que hay que comprar. Sería interesante ver tales comparaciones directas; estuve involucrado en la reescritura de un enorme lío de 2Mb de código de SPSS que se decía que se había acumulado durante unos 10 años-persona en ~150K de código de Stata que corría más o menos igual de rápido, puede ser un poco más rápido; ese fue un proyecto de aproximadamente 1 año-persona. No sé si esta relación de eficiencia de 10:1 es típica para las comparaciones SPSS:Stata, pero no me sorprendería si lo fuera. Para mí, trabajar con R es siempre un gran gasto debido a los costes de búsqueda: Tengo que determinar cuál de los cinco paquetes con nombres similares hace lo que necesito hacer, y medir si lo hace con la suficiente fiabilidad para que lo utilice en mi trabajo. A menudo significa que me resulta más barato escribir mi propio código de Stata en menos tiempo del que emplearía en averiguar 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 de R que yo.
Es curioso que tu profesor prefiera Stata o GAUSS a R porque "R no fue escrito por economistas". Tampoco lo fueron Stata o GAUSS; están escritos por informáticos que utilizan herramientas de informáticos. Si su profesor obtiene 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 econometrista laboral convertido en informático, pero ya no se dedica a esto de la econometría laboral desde hace unos 25 años).
Actualización : Como comenta AndyW más abajo, se puede escribir un código terrible en cualquier lenguaje. La cuestión del coste se convierte entonces en qué lenguaje 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 misma, y no tengo una buena respuesta para eso, por supuesto. Por ejemplo, Python obliga a sangrar el código, lo cual es una buena idea. El código de Stata y R se puede doblar sobre los paréntesis, y eso no va a funcionar con SAS. El uso de subrutinas es un arma de doble filo: el uso de *apply()
con ad-hoc function
s en R es obviamente muy eficiente, pero más difícil de depurar. De forma similar, Stata local
pueden enmascarar casi cualquier cosa, y el hecho de que por defecto sea una cadena vacía, si bien es útil, también puede dar lugar a errores difíciles de detectar.