I don't understand the following behavior with quantile. With type=2 it should average at discontinuities, but this doesn't seem to happen always. If I create a list of 100 numbers and look at the percentiles, then shouldn't I take the average at every percentile?  This behavior happens for some, but not for all (i.e. 7th percentile).
quantile(seq(1, 100, 1), 0.05, type=2)
# 5%
# 5.5 
quantile(seq(1, 100, 1), 0.06, type=2)
# 6%
# 6.5 
quantile(seq(1, 100, 1), 0.07, type=2)
# 7%
# 8 
quantile(seq(1, 100, 1), 0.08, type=2)
# 8%
# 8.5 
Is this related to floating point issues?
100*0.06 == 6
#TRUE
100*0.07 == 7 
#FALSE
sprintf("%.20f", 100*0.07)
#"7.00000000000000088818"
 
    
