2017-10-11 64 views
-5

我有一個excel文件中的數據,格式如附圖所示。我正在嘗試創建一個關於種族和使用ggplot2在住房上花費的收入百分比的分組barplot。有人可以幫助我如何爲我的場景創建分組的條形圖。使用ggplot在r中創建一個分組的barplot

感謝

dataimage

+1

請花一些時間來閱讀如何問StackOverflow的問題,並提供可重複的例子https://stackoverflow.com/questions/5963269/how-to -ma-r-reproducible-example – Djork

回答

0

如果你可以包括Excel文件的圖像,或至少給數據的快照,它會更容易回答的問題。 但我相信你可以使用XLConnect包

install.packages("XLConnect")

library(XLConnect)

然後使用loadWorkbook功能XLConnect加載數據的R數據框(這樣的事情: df <- loadWorkbook("XLConnectExample1.xlsx", create = TRUE)

可以開始播放ggplot2中的數據

ggplot(df,aes(x=....,y=...)+geom_bar(position="dodge")

它會回答你已經給你想要的東西和數據的快照更容易

+0

嗨,謝謝你的迴應。我已經分享了我的數據快照的鏈接。你能幫我解決這個問題嗎 –

+0

你是什麼意思分組的barplot?你的意思是躲閃的barplot。像這樣:'http://ggplot2.tidyverse.org/ reference/position_dodge.html' – Gompu

0

如何以下;

# create some reproducible data 
race<- c("white","afr-amr","amr-ind","asian","pacf-isl","twormore","hisp-lati") 
less5perc<- c(1.6,2.4,5.4,3.4,2.4,1.8,2.3) 
less24perc<- c(41.2,45.2,39.4,44.3,51.5,56.5,48.2) 
less49perc<- c(25.3,22.3,27.2,30.3,28.8,29.2,31.2) 
less69perc<- c(5.6,5.2,7.1,9.3,8.2,6.5,6.3) 
less99perc<- c(3.3,4.3,4.1,3.2,4.5,5.1,3.4) 
grt100perc<- c(6.1,7.2,8.4,9.3,7.5,8.3,6.5) 

df<- data.frame(race,less5perc,less24perc,less49perc,less69perc,less99perc,grt100perc) 

# With ggplot2 
require(ggplot2) 

ggplot(df, aes(x=less69perc, y=less99perc, fill=race)) + 
    geom_bar(stat = "identity", position=position_dodge()) 

plot1

ggplot(df, aes(x=race, y=less69perc, fill=race)) + 
    geom_bar(stat = "identity", position=position_dodge()) 

plot2