2016-08-25 4 views
2

Я пытаюсь создать свою собственную гистограмму в ggplot2, где я поставлю ggplot2 с вероятностью для каждого значения значений параметра в векторе вместо того, чтобы вычислить сами значения вероятности из один вектор.Гистограмма в ggplot2 с предопределенными значениями вероятности

Игрушки данные:

Это параметр значение

p <- seq(from = 0.05, to = 0.95, by = 0.1) 

Я назначить каждый из них веса

prior <- c(1, 5.2, 8, 7.2, 4.6, 2.1, 0.7, 0.1, 0, 0) 

Затем вычислить априорную вероятность для каждого из этих весов

prior <- prior/sum(prior) 

Теперь с помощью функции plot() мы можем создать гистограмму, используя эти два вектора

plot(p, prior, "h", ylab = "prior probability") 

Но как я могу получить подобный график в ggplot2?

Если я пытаюсь положить их в dataframe

gDF <- data.frame(p = p, priorProb = prior) 

Тогда графиков его

ggplot(gDF, aes(x = p, y = priorProb)) + geom_histogram() 

Я получаю ошибку Error: stat_bin() must not be used with a y aesthetic, которая имеет смысл, потому что обычно для гистограммы ggplot использует только один вектор.

Любая помощь, озвученная.

ответ

2
ggplot(gDF, aes(x = p, y = priorProb)) + geom_bar(stat = "identity") 

Looks

+0

Ах да. Так очевидно. Думаю, я был жестким. И я думаю, вы могли бы использовать аргумент 'width = 0.01' в' geom_bar() ', чтобы заставить столбцы больше походить на гистограммы в функции' plot ("h") '. Спасибо @ День Натана. – llewmills

Смежные вопросы