Недавно я столкнулся с проблемой с ggplot2::geom_density, которую не могу решить. Я пытаюсь визуализировать плотность некоторой переменной и сравнить ее с константой. Чтобы построить плотность, я использую ggplot2::geom_density. Однако переменная, для которой я рисую плотность, оказалась константой (на этот раз):
df <- data.frame(matrix(1,ncol = 1, nrow = 100))
colnames(df) <- "dummy"
dfV <- data.frame(matrix(5,ncol = 1, nrow = 1))
colnames(dfV) <- "latent"
ggplot() +
geom_density(data = df, aes(x = dummy, colour = 's'),
fill = '#FF6666', alpha = 0.2, position = "identity") +
geom_vline(data = dfV, aes(xintercept = latent, color = 'ls'), size = 2)
Это нормально, чего я и ожидал. Но когда я сдвигаю это распределение вправо, я получаю такой график:
df <- data.frame(matrix(71,ncol = 1, nrow = 100))
colnames(df) <- "dummy"
dfV <- data.frame(matrix(75,ncol = 1, nrow = 1))
colnames(dfV) <- "latent"
ggplot() +
geom_density(data = df, aes(x = dummy, colour = 's'),
fill = '#FF6666', alpha = 0.2, position = "identity") +
geom_vline(data = dfV, aes(xintercept = latent, color = 'ls'), size = 2)
что, вероятно, означает, что оценка ядра по-прежнему принимает 0 в качестве центра распределения (правильно?).
Есть ли способ обойти это? Я хотел бы видеть график, подобный приведенному выше, только центр плотности кернера был бы в 71, а vline в 75.
Спасибо
stat::density
черезggplot2::stat_density
. Я не уверен, как именно изменить его, чтобы получить предполагаемое решение... Хотя, конечно, делать оценку плотности константы глупо. - person Alex W   schedule 22.01.2016