8 votos

Hay ejemplos de R paquetes cambiando drásticamente entre la versión de que los resultados de una función estadística fueron significativamente diferentes?

Estoy tratando de entender cómo la gente usa R paquetes y me estaba preguntando si hay casos documentados donde R paquetes han producido diferentes respuestas.

Aclaración: La motivación detrás de esta pregunta viene de un esfuerzo que yo estoy involucrado en donde el objetivo de comprender la importancia de la procedencia de los métodos analíticos y cómo se facilita la investigación reproducible. Mientras que R es grande en la comunidad de la ciencia en la actualidad, y R los paquetes son versionados en CRAN, sin información detallada [especialmente a los números de versión], alguien tratando de reproducir un cuerpo de trabajo en el futuro podría llegar a una conclusión diferente que la obra original (incluso con los datos originales).

Ejemplo: el Papel de John Doe dice "se utilizó R 2.3.1 y paquete de glmulti para adaptarse a nuestros modelos". 10 años a partir de ahora, alguien podría utilizar una nueva versión de glmulti (nadie sabe qué versión fue utilizada en el original), lo cual podría producir una conclusión. Mi pregunta: ¿hay ejemplos de que tal cosa está ocurriendo ya? La versión 2 o R paquete de muestra un resultado diferente que la versión 1.

8voto

John Colby Puntos 584

Esto variará de un envase a otro, pero en general, la respuesta es . Las salidas pueden variar, e incluso el uso básico (de entrada/salida args). Por eso, cuando hago un análisis importante, siempre me gusta documento ¿qué versiones se han utilizado con version() y sessionInfo(). Incluso si las cosas cambian, las versiones antiguas se conservan en el CRAN, así que usted puede obtener las versiones antiguas si usted los necesita.

6voto

pkaeding Puntos 12935

He tenido problemas con el paquete glmnet más versiones. Si recuerdo bien, fue a partir de la versión 1.5 a la 1.6, pero se me puede salir un poco.

Los creadores de paquetes/mantenedores cambiado el orden de las clases de sus objetos (por lo que se convirtió c("lognet", "glmnet") en lugar de c("glmnet", "lognet") - o puede haber sido al revés). Por supuesto, también han cambiado a todos sus S3 funciones para manejar adecuadamente este (por ejemplo predict.lognet).

El problema con esto era: un objeto creado con una versión antigua de glmnet no era compatible con las nuevas funciones (desde el despacho trabajado al revés). La mayoría de la gente no estaría en ese lugar (que guarda un glmnet objeto para su uso posterior?), pero yo estaba.

Mente: este es un muy potente paquete, desarrollado por muy inteligente a la gente, por lo que le podría ocurrir a cualquiera :-)

4voto

Eric Davis Puntos 1542

Sólo un breve comentario:

  • El paquete de R es un ecosistema muy grandes, y es realmente el autor individual, si tienen la intención de mantener la compatibilidad hacia atrás.
  • Yo personalmente no he tenido ningún problema con la base de R paquetes de cambiar en formas que condujo a problemas de compatibilidad hacia atrás. En general, esta es una razón por la que prefiero usar base R paquetes.

4voto

Jared Farrish Puntos 120

En mi experiencia, la mayoría de los cambios de crear la costumbre de informática/programación tipo de cuestiones. Funciones de conseguir en desuso, los argumentos son diferentes, etc. Por ejemplo, ya se me pasó ese código podría dejar de funcionar debido a alguna función requiere un argumento extra. Esto puede ser molesto, pero el problema es evidente y por lo general no demasiado difícil de resolver.

Algunos paquetes podría ser mejor mantener en la que el respeto, pero la costumbre de las "reglas" de software libre se aplican: tienes Que ver que es producido por los voluntarios – a menudo estadísticos que tienen otras obligaciones y no profesional a tiempo completo a los desarrolladores de software – y si la calidad y la fiabilidad son importantes para usted, usted debe evitar cualquier cosa con un número de versión como 0.x y solo uso maduro de los paquetes con una comunidad activa de usuarios y desarrolladores.

Nunca he encontrado una actualización que podría resultar en insidioso de los cambios de los resultados estadísticos (por ejemplo, cambiar el método por defecto en alguna función, cambiando el grado de libertad y el valor de p, mientras que la producción superficialmente similares resultados). Supongo que debe suceder, al menos a través de la corrección de correcciones (pero en algún sitio he leído que en realidad, Microsoft añadió código en sus nuevos productos para emular algunos de los mayores errores a evitar romper la compatibilidad con los programas que dependen de estos errores). Tal vez, algunos de los mantenedores nos puede dar algunas ideas sobre la manera en que estos son manejados por sus paquetes.

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