una resultado redondear quitar promedio numeros multiplos mas enteros decimales como r statistics p-value

resultado - ¿Cuál es el número más bajo que R presentará antes de redondear a 0?



redondear promedio en excel (2)

Estoy haciendo un análisis estadístico con el software R (pruebas patentadas de Kolmogorov-Smirnov) de conjuntos de datos muy grandes, lo que significa que mis valores p son increíblemente pequeños. He corregido a Bonferroni por la gran cantidad de pruebas que realicé, lo que significa que mi valor alfa también es muy pequeño para rechazar la hipótesis nula.

El problema es que R me presenta valores de p de 0 en algunos casos en los que el valor de p es presumiblemente tan pequeño que no se puede presentar (estos suelen ser para tamaños de muestra muy grandes). Si bien puedo rechazar felizmente la hipótesis nula para estas pruebas, los datos son para publicación, así que tendré que escribir p <..... pero no sé cuáles son los valores reportables más bajos en R?

Estoy usando la función ks.boot en caso de que eso importe.

¡Cualquier ayuda sería muy apreciada!


No sé si ks.boot tiene métodos en los paquetes Rmpfr o gmp pero si lo hace, o si desea lanzar su propio código, puede trabajar con precisión arbitraria y números de tamaño arbitrarios.


.Machine$double.xmin te proporciona el número de coma flotante normalizado no nulo más pequeño. En la mayoría de los sistemas eso es 2.225074e-308. Sin embargo, no creo que este sea un límite sensible.

En su lugar, sugiero que en Matching::ks.boot cambie la línea

ks.boot.pval <- bbcount/nboots a

ks.boot.pval <- log(bbcount)-log(nboots) y trabaja en la escala de registro.

Editar:

Puede usar trace para modificar la función.

Paso 1: mira el cuerpo de la función, para descubrir dónde agregar código adicional.

as.list(body(ks.boot))

Verá que el elemento 17 es ks.boot.pval <- bbcount/nboots , por lo que debemos agregar el código modificado directamente después de eso.

Paso 2: trace la función.

trace (ks.boot, quote(ks.boot.pval <- log(bbcount)-log(nboots)), at=18)

Paso 3: Ahora puede usar ks.boot y devolverá el logaritmo del valor p de arranque como ks.boot.pvalue . Tenga en cuenta que no puede usar summary.ks.boot ya que llama a format.pval , que no le mostrará valores negativos.

Paso 4: use untrace(ks.boot) para eliminar las modificaciones.