【发布时间】:2021-05-02 18:39:31
【问题描述】:
假设我有数据,其中 x、y、z 是三种不同的数据生成方法,列指的是 beta_0、beta_1、beta_2 和 beta_3。我想将其转换为整洁的格式,然后在一个图中绘制 beta_0 的密度(带有 3 条曲线),...,在一个图中绘制 beta_3 的密度(带有 3 条曲线),在一个输出图中绘制所有四个图(所以在 4x4 网格或 4x1 网格中,不管怎样,可能使用 facet_wrap?
我的问题是:这个数据的整洁格式是什么,如果可以把它整理成整齐的格式,然后使用ggplot2生成四个密度(每个图有三个密度曲线)的代码?
玩具数据(“真实”数据对每种方法都有 200 个观察值,而不仅仅是 6 个):
x=matrix(c(4.790584, 2.654499, 1.3987716, 3.504921,
4.126791, 2.280143, 1.1348528, 3.084783,
4.555479, 2.226738, 1.7021107, 3.500337,
4.954719, 2.592864, 1.2658565, 4.213174,
3.608878, 2.059524, 0.5363011, 2.993644,
4.399778, 2.001757, 1.0602126, 3.377298), nrow=6, ncol=4, byrow=TRUE)
y=matrix(c(6.850924, 3.694619, 2.549025, 6.045664,
7.740951, 4.504154, 2.513180, 6.255492,
5.026915, 2.540771, 1.726427, 4.743082,
4.835503, 2.842332, 1.666898, 4.308631,
8.186425, 5.331871, 2.919130, 6.724499,
4.641722, 2.646673, 1.486447, 3.931251), nrow=6, ncol=4, byrow=TRUE)
z=matrix(c(4.651634, 2.611540, 1.5819549, 4.107449,
3.716444, 2.097695, 1.0136387, 3.051602,
4.184544, 1.986585, 1.0731731, 3.442379,
6.309591, 2.720760, 2.1551536, 4.572733,
6.614165, 3.253548, 2.6207540, 5.157300,
4.408838, 1.920230, 0.9850924, 3.320052), nrow=6, ncol=4, byrow=TRUE)
tidy=cbind(x, y, z)
【问题讨论】: