2013-09-26 2 views
3

Я хочу построить с ggplot частоту значений из числового вектора. С plot() довольно прямолинейно, но я не могу получить тот же результат с ggplot.Как построить гистограмму/счетчик частоты вектора с ggplot?

library(ggplot2)  
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4)  
hist(dice_results) 

enter image description here

ggplot(dice_results) + geom_bar() 
# Error: ggplot2 doesn't know how to deal with data of class numeric 

Должен ли я создать dataframe для ggplot() построить свой вектор?

ответ

8

См. Справочную страницу ?geom_histogram. Из первого примера вы можете обнаружить, что это работает.

qplot(as.factor(dice_results), geom="histogram") 

Также смотрите на ?ggplot. Вы увидите, что данные должны быть data.frame

7

Попробуйте код ниже

library(ggplot2)  
dice_results <- c(1,3,2,4,5,6,5,3,2,1,6,2,6,5,6,4,1,3,2,4,6,4,1,6,3,2,4,3,4,5,6,7,1) 
ggplot() + aes(dice_results)+ geom_histogram(binwidth=1, colour="black", fill="white") 
Смежные вопросы