0

给出以下示例:

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 中制作的这个示例:

图形

4

1 回答 1

4

The following works for me, assuming your data.frame is called "temp":

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

enter image description here

于 2013-02-26T16:29:54.420 回答