Я пытаюсь преобразовать ось x графика плотности и получить неожиданные результаты. Код без преобразования работает отлично:Лог-преобразованная функция плотности не правильно построена
library(ggplot2)
data = data.frame(x=c(1,2,10,11,1000))
dens = density(data$x)
densy = sapply(data$x, function(x) { dens$y[findInterval(x, dens$x)] })
ggplot(data, aes(x = x)) +
geom_density() +
geom_point(y = densy)
Если добавить scale_x_log10()
, я получаю следующий результат:
Кроме значений у будучи масштабированно-, что-то похоже, случилось и с значениями х - пики функции плотности не совсем там, где точки.
Я неправильно использую преобразование журнала здесь?
Это имеет смысл, но даже если я преобразовать данные таким же образом, перед передачей его 'плотности()' точки и кривой не совпадают. –
Возможный дубликат: http://stackoverflow.com/questions/31068689/ggplot2-stat-function-misbehaviour-with-log-scales/31069426 – RHertel
@RHertel Спасибо за указатель, но это дает точки для каждого бина, а не для исходные данные. –