tl; dr используйте from=0
в своем выражении плотности, чтобы ограничить диапазон. (Не забудьте использовать freq=FALSE
или prob=TRUE
в своей гистограмме для масштабирования гистограммы до плотностей, а не счетчиков.)
Данные:
dat <- c(0.41645505,0.17807010,0.04401494,0.00000000, 0.53424325,
0.00000000,0.78833026,0.14429310,0.00000000,0.35345068,
0.00000000,0.00000000,0.03157549,0.00000000,0.00000000,
0.83979615,0.15510495,0.00000000,0.00000000,0.38146542,
0.60273251,0.28437203,0.00000000,0.00000000,0.63672858,
0.00000000,0.28479730,0.00000000,0.73017781,0.39795789,
0.00000000,0.00000000,0.56448031,0.00000000,0.92790850,
0.00000000,0.00000000,0.46136357,0.27828194,0.00000000,
0.01385383,0.36895497,0.06200592,0.00000000,0.17517336,
0.57521911,0.00000000,0.32508820,0.00000000,0.00000000)
Использование from=0
в density()
указывает R начать вывод с 0. Если вы хотите получить более гладкую, менее плавную линию, вы можете понизить аргумент adjust
до density()
. Ответ @ RuiBarradas показывает вам, как провести плавную линию через середины вершин столбцов гистограммы - хотя, возможно, это не имеет большого теоретического смысла как способ характеризации плотности.
par(las=1)
hist(dat,freq=FALSE,col="gray", main="")
lines(density(dat, from=0),col=2,lwd=2)
lines(density(dat, from=0, adjust=0.25),col=4,lwd=2)
