Search code examples
rmedian

How to make mean with small numbers in a list


I have a list of small numbers :

pval.vec <- c(7.777067e-12, 8.345999e-16, 4.341658e-17, 5.984561e-15 ,1.711345e-15)

When I apply the mean of this list :

cat(sprintf("le mean value est %f",median(pval.vec)))

It gives me a result => 0.000000

I need to have a value with (nbr)e-(exposant)


Solution

  • The %f format is for “fixed point” decimal notation. Default is 6. That's why you are getting 0.000000.

    You can try to use %e for exponential.

     # Data
     pval.vec <- c(7.777067e-12, 8.345999e-16, 4.341658e-17, 5.984561e-15 ,1.711345e-15)
    
     cat(sprintf("le mean value est %e",median(pval.vec)))
     #le mean value est 1.711345e-15
    
    
     #One can specify number of digits after decimal. e.g. for 2 digits
     cat(sprintf("le mean value est %.2e",median(pval.vec)))
     #le mean value est 1.71e-15