TL; DR : Sí, creo que hay tales lugares en la ciencia, donde la biblioteca de Python es inmadura en comparación con R. Pero esta no suele ser la razón para preferir R. Hay otras buenas razones para preferir R. Como hay razones para preferir Pitón.
Aunque Adrian Olszewski dio algunos ejemplos, es difícil responder a esta pregunta. ¿Por qué es dificil?
Bueno, ambos idiomas son GRANDES.
- Cómo guardar un modelo de red neuronal de convolución después del entrenamiento
- ¿Qué medida de evaluación fuera de línea para los sistemas de recomendación se correlaciona mejor con los resultados de la prueba AB en línea?
- ¿Qué es un modelo oculto de Markov - Red neuronal artificial (HMM-ANN)?
- ¿Puedo usar una CPU para generar datos (aumento) cuando el entrenamiento de flujo de tensor en GPU es de forma paralela?
- Supervisado versus no supervisado, inferencia versus predicción, paramétrico versus no paramétrico, ¿cómo se combinan esas características entre sí?
La Red Integral de Archivos R contenía 10617 paquetes, a partir del 14 de mayo de 2017.
PyPI: el índice de paquetes de Python contenía 108155 paquetes, a la misma fecha.
Es una tarea desalentadora comparar estos montones de paquetes diferentes para profundizar en la implementación. Aquí hay algunas ideas sobre cómo comparar los dos idiomas.
a. Ancho vs. Profundidad
La Ley de Mermelada de Frambuesa de Gerald Weinberg establece:
Cuanto más ancho lo extiendes, más delgado se vuelve.
Ahora, considere Python vs. R. Nuestra “mermelada de frambuesa” es una funcionalidad estadística.
R se usa para estadística, ciencia de datos, aprendizaje automático y un poco de ciencia general.
Python se usa para todos los usos de R, así como para la creación de sitios web, la programación de sistemas, las GUI de escritorio, el lenguaje de secuencias de comandos para ayudar al desarrollo de software y más.
Por lo tanto, suponiendo una cantidad similar de esfuerzo de desarrollo, Python se extiende más ancho y, por lo tanto, más delgado.
R es más profundo. Entonces, supongo que la regresión lineal generalizada específica que podría estar buscando es más probable que se implemente en R.
Por otro lado, la utilidad de minería de texto que implica un preprocesamiento específico es más probable que se implemente en Python, ya que esto no es exactamente de naturaleza estadística.
si. Gestión de proyectos de código abierto
La mayoría de los proyectos de código abierto tienen una arquitectura general, pero no siempre detallada. Como la mayoría de los desarrolladores de código abierto crean paquetes para rascarse las picazón específicas, algunas funcionalidades pueden implementarse dentro de varios paquetes diferentes de Python o paquetes R o ambos. Como los paquetes también pueden dividirse a lo largo de diferentes líneas, esto hace que sea más difícil comparar los paquetes.
C. Objetivos móviles
Ambos idiomas cambian constantemente y, por lo tanto, son objetivos móviles. Por ejemplo, R solía tener gráficos superiores a través del paquete ggplot2. Al ver eso, los desarrolladores de Python crearon los paquetes inspirados en gglot2 ggplot y seaborn que en su mayoría cerraron la brecha.
re. Encontrar la funcionalidad que buscas
Como nadie puede abarcar el idioma completo, confiamos en las búsquedas de Google, las vistas de tareas CRAN (todavía no he encontrado el recurso correspondiente para Python), referencias cruzadas, publicaciones de blog y personas que conocemos en las reuniones para encontrar un paquete que contenga la funcionalidad deseada.
mi. Cómo elegir qué idioma aprender
En mi opinión, esta es principalmente una opción social: vaya con el lenguaje que se usa más en su comunidad de investigación / equipo / empresa. De esta manera, será más productivo y podrá comunicarse mejor con las personas relevantes. Podría ser una buena idea controlar R y Python, ya que de hecho las funcionalidades específicas podrían no solaparse.