使用 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))
所以我在 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))