У мене є набір даних з великою кількістю нулів, який виглядає приблизно так:
set.seed(1)
x <- c(rlnorm(100),rep(0,50))
hist(x,probability=TRUE,breaks = 25)
Я хотів би намалювати лінію за її щільністю, але density()
функція використовує рухоме вікно, яке обчислює негативні значення x.
lines(density(x), col = 'grey')
Є density(... from, to)
аргументи, але вони, здається, лише скорочують обчислення, а не змінюють вікно, щоб щільність на 0 відповідала даним, як це видно з наступного сюжету:
lines(density(x, from = 0), col = 'black')
(якби інтерполяція була змінена, я б очікував, що чорна лінія матиме більшу щільність на 0, ніж сіра лінія)
Чи є альтернативи цій функції, які б забезпечили кращий розрахунок щільності при нулі?