一个Vector to DataFrame用于R中的ggplot直方图

时间:2015-07-02 00:42:42

标签: r vector ggplot2 histogram

我正在尝试将一个矢量转换为数据帧。我将最终使用ggplot的数据框来创建频率直方图。这是我到目前为止所拥有的......

library(ggplot2)

#This is my vector for prime numbers
prime <- c(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97)

#In order to convert it to a data frame, I tried this method
data <- data.frame(numbers=1:100,prime)

#This is the title of my histogram
main <-"Frequency of Prime Numbers"

#This is what I tried to use to plot the histogram
ggplot(data, aes(x=numbers)) +  geom_histogram() +ggtitle(main)

我能够为这些素数生成频率图,但是频率读数为3和4,而素数应该以1的频率读取,其他一切应该以频率读取为0.

我想我可能会错误地将我的矢量转换为数据帧,但我似乎无法弄清楚如何只转换一个矢量。我已经看到了关于转换两个向量或带有两个变量的列表的多个问题,等等,但只有一个向量上没有...

我想我的问题与我如何首先将矢量转换为数据帧有关。那是对的吗?如果是这样,为什么我的情节读数计数为3和4而不是频率为1的素数?

任何帮助?

谢谢!

1 个答案:

答案 0 :(得分:2)

library(ggplot2)

prime <- c(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97)

data <- as.data.frame(prime)

main <-"Frequency of Prime Numbers"

ggplot(data, aes(x=prime)) +  geom_histogram(binwidth = 1) + ggtitle(main)

enter image description here