3
我有四個數據集,我想繪製所有數據在同一圖上的直方圖。我已將所有數據放入一個數據框中。我也可以在一個圖上繪製直方圖。但是,我在繪製百分比而不是計數時遇到了麻煩。當我使用下面的代碼時,它將百分比繪製爲所有計數的總和,但我更傾向於百分比是相對於每個數據集。這可能嗎?使用ggplot2爲百分比繪製多個數據集的直方圖
all <- rbind(data.frame(fill = "A", Events = A$Events),
data.frame(fill = "B", Events = B$Events),
data.frame(fill = "C", Events = C$Events),
data.frame(fill = "D", Events = D$Events)
ggplot(all,aes(x=Events, fill = fill)) +
geom_histogram(aes(y = ..count../sum(..count..)), position = 'dodge')
編輯
下面是一些示例數據:
fill Events
1 A 1
2 A 1
3 A 3
4 A 1
5 A 1
6 A 6
7 A 2
8 A 1
9 A 1
10 A 2
11 A 1
12 A 1
13 A 1
14 A 1
15 A 5
16 A 1
17 A 2
18 A 2
19 A 1
20 A 1
21 A 1
22 A 1
23 A 2
24 A 1
25 A 2
26 A 1
27 B 2
28 B 3
29 B 1
30 B 3
31 B 2
32 B 5
33 B 1
34 B 1
35 B 1
36 B 2
37 B 1
38 B 1
39 B 1
40 B 1
41 B 1
42 B 1
43 B 1
44 B 1
45 B 1
46 B 4
47 B 3
48 B 3
49 B 5
50 B 3
51 C 1
52 C 2
53 C 2
54 C 3
55 C 3
56 C 9
57 C 8
58 C 1
59 C 1
60 C 2
61 C 2
62 C 1
63 C 2
64 C 39
65 C 43
66 C 194
67 C 129
68 C 186
69 C 1
70 C 2
71 C 7
72 C 4
73 C 1
74 D 12
75 D 3
76 D 2
77 D 3
78 D 8
79 D 20
80 D 5
81 D 1
82 D 4
83 D 9
84 D 51
85 D 12
86 D 7
87 D 6
88 D 7
89 D 7
90 D 9
91 D 17
92 D 18
93 D 8
94 D 7
95 D 6
96 D 10
97 D 27
98 D 11
99 D 21
100 D 89
101 D 47
102 D 1
也許我沒有正確地說出我的問題。我想象的是,爲每個數據集添加所有條形圖將等於100%,但使用密度,對於所有數據集,我總共獲得100%。 – user2167681
是的,我想我明白了。我已經爲解決方案添加了另一個示例。這有幫助嗎?也許你可以發佈突出你的確切關注的實際數據? – dnlbrky
我已經在頂部添加了一些示例數據。如果我離開binwidth = 1,使用..density ..可以正常工作,但是當我改變binwidth = 10時,總數最終爲10%(我猜是因爲1.00/10 = .1)。如果您知道改變binwidth的方法,但將比例保持在100%是有幫助的。另外,感謝關於geom_density的提示。我可能只是用它來代替。 – user2167681