使用 ggplot 和 R 对直方图的数据向量进行排序

Sorting data vector for a histogram using ggplot and R

所以我在 Monte Carlo 模拟的向量中有 10.000 个值。我想将此数据绘制为 直方图 密度图 。使用 hist() 函数很容易做到这一点,它会自动计算不同值的频率。然而,我的目标是在 ggplot.

中做到这一点

我现在最大的问题是如何转换数据以便 ggplot 可以处理它。我希望我的 x 轴显示 "price" 而 x 轴显示频率或密度。如下面的示例数据所示,我的数据有很多小数点。

myData <- c(266.8997, 271.5137, 225.4786, 223.3533, 258.1245, 199.5601, 234.2341, 231.7850, 260.2091, 184.5102, 272.8287, 203.7482, 212.5140, 220.9094, 221.2627, 236.3224)

我当前的代码使用hist()-函数,绘图如下所示。

hist(myData,
 xlab ="Price",
 prob=TRUE)
lines(density(myData))

Histogram for the data vector containing 10000 values

您将如何对数据进行排序,您将如何使用 ggplot 进行排序?我在想我是否也应该四舍五入这些数字?

如果没有看到您的数据样本,很难说清楚,但您尝试过吗:

ggplot(myData, aes(Price)) + geom_histogram()

或:

ggplot(myData, aes(Price)) + geom_density()

试试这个:

ggplot() +
   geom_bar(aes(myData)) +
   geom_density(aes(myData))