1
我一直與R工作了大約2年,現在我不知道這裏有什麼問題。我有這樣的數據框。ggplot2 barplot不能正確添加
incomeGroup diabetic percent
(fctr) (fctr) (dbl)
1 <10,000 NonDiabetic 0.87689665
2 >75,000 NonDiabetic 0.93173965
3 10,000-15,000 NonDiabetic 0.80568579
4 15,000-20,000 NonDiabetic 0.84773930
5 20,000-25,000 NonDiabetic 0.83956823
6 25,000-35,000 NonDiabetic 0.86481373
7 35,000-50,000 NonDiabetic 0.86237913
8 50,000-75,000 NonDiabetic 0.91666293
9 <10,000 Diabetic 0.12310335
10 >75,000 Diabetic 0.06826035
11 10,000-15,000 Diabetic 0.19431421
12 15,000-20,000 Diabetic 0.15226070
13 20,000-25,000 Diabetic 0.16043177
14 25,000-35,000 Diabetic 0.13518627
15 35,000-50,000 Diabetic 0.13762087
16 50,000-75,000 Diabetic 0.08333707
然後我用GGPLOT2使用以下代碼來做出圖形:
ggplot(income3, aes(x = incomeGroup, y = percent, fill = diabetic)) +
geom_bar(data=subset(income3, diabetic == "NonDiabetic"), stat = "identity") +
geom_bar(data=subset(income3, diabetic == "Diabetic"), stat = "identity")
出於某種原因,輸出爲關閉。我得到類似如下的圖表:
這是沒有意義的,因爲我加入了所有的數字,他們都等於1。我不知道這是ggplot或者如果出了問題我做錯了什麼。以下是將重新創建我正在使用的數據的代碼。
incomeGroup <- c("<10,000", ">75,000", "10,000-15,000", "15,000-20,000", "20,000-25,000", "25,000-35,000", "35,000-50,000", "50,000-75,000", "<10,000", ">75,000", "10,000-15,000", "15,000-20,000", "20,000-25,000", "25,000-35,000", "35,000-50,000", "50,000-75,000")
incomeGroup <- factor(incomeGroup, levels = c("<10,000", "10,000-15,000", "15,000-20,000", "20,000-25,000", "25,000-35,000", "35,000-50,000", "50,000-75,000", ">75,000"))
diabetic <- c("NonDiabetic", "NonDiabetic", "NonDiabetic", "NonDiabetic", "NonDiabetic", "NonDiabetic", "NonDiabetic", "NonDiabetic", "Diabetic", "Diabetic", "Diabetic", "Diabetic", "Diabetic", "Diabetic", "Diabetic", "Diabetic")
diabetic <- factor(diabetic)
percent <- c(0.87689664503343, 0.931739649923405, 0.805685791204679, 0.847739295548242, 0.839568230766604, 0.864813732451467, 0.862379127705366, 0.916662929943874, 0.12310335496657, 0.0682603500765948, 0.194314208795321, 0.152260704451758, 0.160431769233396, 0.135186267548533, 0.137620872294634, 0.0833370700561264)
df <- cbind.data.frame(incomeGroup, diabetic, percent)
您也可以躲閃條的位置。 @ beetroot的方式雖然更簡潔。 –
如果沒有'group'參數,你也可以得到正確的圖表。 – Jaap