我正在尝试将一个矢量转换为数据帧。我将最终使用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的素数?
任何帮助?
谢谢!
答案 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)