1
本質上,我有一個數據集,其中我有4列包含以下信息:個人(「Ind」),這些人所屬的地理人口(「Pop」),屬於cluster1的基因組比例和屬於cluster2的基因組比例(後兩者合計爲1)。ggplot2 - 創建堆疊直方圖的比例爲人口,並按人口分離
例子:
Ind <- c(1:20)
Pop <- rep(1:2, each = 10)
set.seed(234)
Cluster1 <- runif(20, 0.0, 1.0)
Cluster2 <- 1-Cluster1
df <- data.frame(Ind, Pop, Cluster1, Cluster2)
數據:
Ind Pop Cluster1 Cluster2
1 1 1 0.745619998 0.25438000
2 2 1 0.781712425 0.21828758
3 3 1 0.020037114 0.97996289
4 4 1 0.776085387 0.22391461
5 5 1 0.066910093 0.93308991
6 6 1 0.644795124 0.35520488
7 7 1 0.929385959 0.07061404
8 8 1 0.717642189 0.28235781
9 9 1 0.927736510 0.07226349
10 10 1 0.284230120 0.71576988
11 11 2 0.555724930 0.44427507
12 12 2 0.547701653 0.45229835
13 13 2 0.582847855 0.41715215
14 14 2 0.582989913 0.41701009
15 15 2 0.001198341 0.99880166
16 16 2 0.441117854 0.55888215
17 17 2 0.313152501 0.68684750
18 18 2 0.740014466 0.25998553
19 19 2 0.138326844 0.86167316
20 20 2 0.871777777 0.12822222
我想嘗試併產生使用ggplot2
類似於 「A」 面板this圖的曲線圖。在這個圖中,每個個體都是一個具有每個羣集比例的柱狀圖,但是x個蜱是種羣,垂直網格將這些種羣分開。我知道如果忽略Pop
並使用melt()
,我可以輕鬆生成堆疊直方圖。但我想知道如何合併Pop
以製作出典雅的情節,例如上面鏈接中的情節。
謝謝!
感謝您的快速回復,這絕對是有希望的,但我給的例子是好的,甚至,在現實中,我處理的是每個人羣中個人數量不均勻的情況,我希望每個「geom_bar」的寬度在羣組之間保持一致。使用'facet_grid'是一個很好的解決方案,但就我的探索而言,我不能根據每個方面的個體數量來改變寬度... –
啊,好點,我忽略了這一點。您可以使用固定空間來解決問題。我將編輯我的答案以添加代碼示例。 – sebkopf