2013-02-26 33 views
0

的百分比下面的例子:Barplots有鑑於不同的變量

structure(list(jdgcbrbR = c(0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L), 
    ctprpwrR = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L), hrshsntaR = c(0L, 
    0L, 1L, 0L, 0L, 0L, 0L, 0L), dbctvrdR = c(0L, 0L, 1L, 1L, 
    0L, 0L, 0L, 0L), lwstrobR = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 
    0L), rgbrklwR = c(0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L), ctinpltR = c(0L, 
    0L, 1L, 1L, 0L, 0L, 0L, 0L), stcbg2tR = c(0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L), tmprsR = c(NA, NA, NA, 0L, 0L, NA, NA, NA 
    ), caplcstR = c(0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L), widprsnR = c(0L, 
    0L, 1L, 0L, 0L, 0L, 0L, 0L), wevdctR = c(0L, 0L, 1L, 0L, 
    0L, 0L, 0L, 0L)), .Names = c("jdgcbrbR", "ctprpwrR", "hrshsntaR", 
"dbctvrdR", "lwstrobR", "rgbrklwR", "ctinpltR", "stcbg2tR", "tmprsR", 
"caplcstR", "widprsnR", "wevdctR"), row.names = 747:754, class = "data.frame") 

我怎麼能打造一個集barplots,圖示的1-values百分比中的每個變量,從而使百分比的演變的一個很好的概述1分的。

到目前爲止,我嘗試創建百分比(其失敗,因爲nrow被認爲是NULL):

pct_jdgcbrbR <- (sum(jdgcbrbR)/nrow(jdgcbrbR) * 100) 
pct_jdgcbrbR 

而且我發現這可能是有用的barplot功能:

barplot(percentages, main="INR", 
     xlab="varnames") 

結果應該看起來像我在Excel中做的這個例子:

graph

回答

4

我下面的作品,假設你的data.frame被稱爲 「臨時」:

barplot((colSums(temp, na.rm=TRUE)/nrow(temp))*100) 

enter image description here

+0

3分鐘!當你快速 – 2013-02-26 16:34:26

+0

謝謝,它的作品。如果我只想要圖表中的最後5個變量,我可以添加一個參數嗎? – Marloes 2013-02-26 16:37:08

+1

@ kwanti,當然。你可以使用基本的子集。例如,要繪製第一,第三和第七個變量,可以使用'temp [c(1,3,7)]'而不是'temp'。 – A5C1D2H2I1M1N2O1R2T1 2013-02-26 16:44:05