La popularidad de R se debe a una serie de razones, no solo a las funciones estadísticas integradas. Algunas razones son:
- R es un lenguaje hecho por estadísticos para estadísticos. A los estadísticos les gusta no solo construir modelos de datos, sino también verificar supuestos subyacentes, probar hipótesis sobre los datos o patrones en ellos, y así sucesivamente. R es perfecto para combinar el trabajo de análisis de datos con dicha verificación de supuestos
- R es ideal para visualizaciones de datos rápidas y reutilizables. Si bien no produce visualizaciones dinámicas como D3.JS, sí produce visualizaciones atractivas con calidad de publicación, e incluso el paquete de trazado base tiene mucha funcionalidad. Es imposible dejar de lado GGPlot2, el excelente paquete de trazado de R. El enrejado es otro buen paquete.
- R tiene una abstracción de marco de datos central, que trata los datos de maneras de muy alto nivel. Ser capaz de manejar los datos como marcos de datos facilita muchas cosas en R. R deduce de manera inteligente objetos centrados alrededor de marcos de datos y utiliza marcos de datos como resultado de muchos resultados. Al igual que las matrices de Numpy y las tramas de datos de Pandas que llegaron mucho más tarde en Python, las tramas de datos en R son abstracciones muy valiosas, y R las tuvo primero.
- Las funciones y bibliotecas de R para manipular marcos de datos (plyr, dplyr, etc.) son fantásticas. Son perfectos para manipular de forma intuitiva y fácil los marcos de datos y mejorar de forma iterativa el conjunto de datos que desea para el aprendizaje automático y esas tareas.
- R realmente tiene cosas como un servidor web integrado, y puede implementar aplicaciones R Shiny que se convierten en paneles de datos
- Con la adquisición de Revolution Analytics por parte de Microsoft, Revolution R ha estado brindando a la comunidad un conjunto de paquetes de aprendizaje automático escalables y gratuitos que también juegan muy bien con la competitiva pila Azure ML de Microsoft.
- SparkR está en constante evolución y desarrollo, a medida que más y más científicos de datos que usan R se convierten en practicantes de ciencia de datos a gran escala también. Ya es capaz de paralelizar varias funciones en R que ahora se pueden usar para construir algoritmos de aprendizaje automático escalables
- R es un lenguaje específico de dominio para hacer análisis de datos y ciencia de datos. Esta es quizás una extensión de lo que dije en el n. ° 1, pero vale la pena repetirlo de esta forma. Las entrañas de R contienen muchos otros lenguajes: C, C ++ y Lisp. Estos lenguajes han aportado mucha funcionalidad a R a lo largo de los años.
- La comunidad de R está realmente llena de usuarios extremadamente apasionados, que tratan bien a los recién llegados. Python también tiene una comunidad bastante agradable, y las comunidades son importantes cuando se trata de lenguajes de programación. La comunidad de R no es tan prohibitiva como, por ejemplo, la de Scala, y tiene personas de todo el mundo.
- El conjunto de bibliotecas administradas por la comunidad de R, la Red Integral de Archivos R, es un recurso fantástico, y la documentación de cada paquete está estrictamente controlada, con información de funciones, tipos de datos, funcionalidades clave y más claramente documentada. Python también tiene bibliotecas de ciencia de datos y ML bien documentadas (scikit-learn me viene a la mente como particularmente bien documentado), pero la pila de Python no parece tener documentación centralizada y organizada como R, Java o Scala (en mi experiencia).
Estoy seguro de que otros programadores de R y analistas / científicos de datos tienen diferentes experiencias para agregar, ¡pero al menos algunos corroborarán mis puntos de vista aquí! 🙂
- Visión por computadora: ¿cómo sé qué vector de características en un vector combinado es más confiable?
- Cómo resolver un problema de la máquina Atwood con fricción
- Cómo encontrar el siguiente número de la lista de números anteriores usando el aprendizaje profundo
- ¿Cómo se usa el aprendizaje automático en la ciencia de los materiales?
- ¿Son las redes de tipo neuronal el único juego real en la ciudad o podemos desarrollar máquinas sofisticadas de IA que no piensen como los humanos?