簡體   English   中英

如何在R中的圖形上繪制多個類別變量?

[英]How do I plot a number of categorical variables on a graph in R?

我大約有10個類別變量-pay1,pay2,...,pay10,每個變量的值都是“是”或“否”。 我想在圖表上繪制每個變量的計數。 例如-圖表上的bar1應該指向變量'pay1',該變量反映了觀察結果總數,該觀察結果分為“是”和“否”(“否”之上是“是”,反之亦然),該方案應與圖表上的所有10個變量。 如果我能夠顯示每個小節的“是”和“否”的百分比,那就更好了。 有人可以幫忙嗎?

TIA。

像這樣編輯嗎?

set.seed(1) # make reproducible
### 3x variables, 5x observations
df1 <- data.frame(x1=sample(c("yes","no"),5, replace=TRUE),
                  x2=sample(c("yes","no"),5, replace=TRUE),
                  x3=sample(c("yes","no"),5, replace=TRUE)
                  )
library(reshape2)
### convert to 'long form'
m1 <- melt(df1, measure.vars=c("x1","x2","x3"))
### now use facets to give one plot per variable
library(ggplot2)
qplot(variable, data=m1, fill=value) + facet_wrap( facets= ~variable, scale="free_x")

贈送:

在此處輸入圖片說明

或者,如果您想要並排顯示“是/否”,這對我來說更好:

qplot(value, data=m1, fill=value) + facet_wrap( facets= ~variable, scale="free_x")

使用另一個答案中生成的數據幀,如何處理? 我認為您必須非常具體地說明您希望x軸的結構如何在此處獲得有用的答案。

set.seed(1) # make reproducible
### 3x variables, 5x observations
df1 <- data.frame(x1=sample(c("yes","no"),5, replace=TRUE),
              x2=sample(c("yes","no"),5, replace=TRUE),
              x3=sample(c("yes","no"),5, replace=TRUE)
              )
library(reshape2)
m1 <- melt(df1, measure.vars=c("x1","x2","x3"))
m1[,"varval"]<-paste(m1$variable, m1$value, sep="-")

library(ggplot2)
# All counts now have a common x-axis:
varp<-ggplot(m1, aes(varv, fill=value))+geom_bar(stat="bin")
varp

samplefrequencyplot.jpeg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM