32 votos

Si hoy se reprogramara R desde cero, ¿qué cambios serían más útiles para la comunidad estadística?

Muchas personas de la comunidad estadística y de otros ámbitos académicos utilizan R como lenguaje principal para el análisis de datos y el cálculo estadístico. Es un lenguaje maravilloso y versátil que se ha hecho muy popular tanto en el ámbito académico como en el industrial. El lenguaje tiene una interesante historia que evolucionó como una mejora del S producido por los Laboratorios Bell (véase, por ejemplo, el Cámaras 2020 ). Aunque es un lenguaje versátil, la versión base de R tiene algunos inconvenientes bien conocidos, como las dificultades para tratar los "grandes datos", la falta de etiquetas en las variables, etc. Esta funcionalidad básica suele complementarse con paquetes populares, pero los nuevos usuarios pueden tener dificultades para aprender los métodos necesarios.

Desde R se desarrolló esencialmente como una reprogramación actualizada de un lenguaje anterior, es natural preguntarse si alguna vez habrá un esfuerzo por crear un nuevo lenguaje que busque basarse en R . En el caso de que un proyecto de este tipo llegara a producirse, qué tipo de cambios serían más útiles para la comunidad estadística ?

5voto

user120612 Puntos 21

Multithreading por defecto

R se construyó como una aplicación de un solo hilo, pero hoy en día podemos hacerlo mejor. Lamentablemente, Microsoft R está prácticamente descontinuado ahora...ir tenía muchos beneficios sobre el original. https://mran.microsoft.com/documents/rro/multithread

2voto

Aaron Puntos 36

Construir funciones de manipulación y datos etiquetados en el programa base

Como regla general, sería bueno trasladar algunas de las funciones importantes de los paquetes clave al programa base (como se hizo con el stats paquete en un momento dado). En particular, los objetos base del programa deberían programarse para utilizar algunas de las funciones útiles de "datos ordenados" (por ejemplo, por Wickham 2017 ), debe permitir etiquetas descriptivas fáciles para todas las variables, y debe manejar el tiempo como una variable especial de manera que sea útil para el análisis ordenado de los datos de las series temporales.

  • Algunas de las funciones para el análisis ordenado de los datos son similares a las que existen en el tidyverse debería estar incorporado en el programa base. Hay una serie de funciones en ese campo que ayudan a ordenar los marcos de datos (pero sus nombres pueden ser bastante impar, debido a que no están en la base). Todos los objetos y funciones de la base deberían programarse teniendo en cuenta los principios de la ordenación de los datos, y con funciones básicas para los pasos importantes del wrangling. Reconozco que hay un compromiso aquí: no quieres añadir demasiadas funciones y aumentar la complejidad, pero quieres añadir suficientes funciones para realizar los pasos clave de la gestión.

  • Los objetos como vectores, matrices y marcos de datos deberían permitir etiquetas descriptivas para sus variables, de forma similar a lo que existe en otros lenguajes como Stata . Las etiquetas deben ser adicionales a los nombres de las variables, para permitir la descripción de la variable o las etiquetas para la impresión.

  • El programa base debe manejar las variables de tiempo de manera que permita un ordenamiento simple de las series de tiempo, y las operaciones estándar que se quieran hacer con las variables de tiempo. Actualmente, la mayor parte de esto se encuentra en los paquetes de R como lubridate y zoo .

1voto

greduan Puntos 221

Añadir más nombres protegidos

pi <- 3 probablemente no debería permitirse.

0voto

Scripts4Life Puntos 19

Sustituir los paquetes por funciones estandarizadas

Hay muchos paquetes y las definiciones de las funciones difieren entre los paquetes. Para un mismo problema hay diferentes funciones de diferentes paquetes, con nombres similares pero con detalles diferentes. En realidad, no sabes lo que pasa si aplicas una función y pierdes el control sobre tu código. Si quieres saber lo que hace una función la ayuda es muy escasa o sólo se da un papel como referencia. Una función sin documentación es un riesgo para cualquier usuario.

Sería mejor elegir las funciones más útiles en un proceso de selección, estandarizarlas y modificarlas, y ponerlas todas en un sistema por defecto con ayuda estandarizada. Esto también reduciría las funciones redundantes y aumentaría el orden. Actualmente R parece un kit de construcción de varios mundos que necesita ser reformado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X