Mam zestaw danych z dużą ilością zer, który wygląda następująco:
set.seed(1)
x <- c(rlnorm(100),rep(0,50))
hist(x,probability=TRUE,breaks = 25)
Chciałbym narysować linię dla jej gęstości, ale density()
funkcja wykorzystuje ruchome okno, które oblicza ujemne wartości x.
lines(density(x), col = 'grey')
Istnieją density(... from, to)
argumenty, ale wydają się one jedynie przycinać obliczenia, a nie zmieniać okna, tak aby gęstość przy 0 była zgodna z danymi, co widać na poniższym wykresie:
lines(density(x, from = 0), col = 'black')
(gdyby interpolacja została zmieniona, oczekiwałbym, że czarna linia miałaby większą gęstość przy 0 niż szara linia)
Czy istnieją alternatywy dla tej funkcji, które zapewniłyby lepsze obliczenie gęstości przy zeru?