【问题标题】:how to make a stacked bar plot with one bar for many variables如何使用一个条形图制作多个变量的堆积条形图
【发布时间】:2013-11-23 13:53:19
【问题描述】:

我的数据“chir”有一些变量如下所示:

  • N1_re N2_re N3_re
  • 是不不
  • 否是否
  • 不,是的
  • 不不不

所有变量都包含大约 100 个值,例如 yes、no 和 na,现在我需要一个只有一个条形的堆积条形图来显示变量有多少个 yes、no 和 na,而无需区分它们。 我试着先把它们像这样放在一起:

vars=c("N1_re", "N2_re", "N3_re")   

然后

barplot(matrix(c(table(chir$vars), ncol=1)))

这不起作用,然后我尝试先将这些融合为变量,如下所示:

melt1=melt(chir, measure.vars=c("N1_re", "N2_re", "N3_re"), var="zpd") 

但它说“参数意味着不同的行数:98、196”

也许有另一种方法可以使情节不融化?

感谢您的帮助!

【问题讨论】:

    标签: r


    【解决方案1】:

    将您的数据用于 chir(纠正错别字):

    data <- rbind(chir,chir,chir,chir)      # just to have a bigger dataset
    
    library(ggplot2)
    library(reshape2)
    
    ggdata = melt(chir,measure.vars=1:3)
    ggplot(ggdata, aes(x=variable)) + stat_bin(aes(fill=value))
    

    给出:

    ggplot(ggdata, aes(x=1)) + stat_bin(aes(fill=value))
    

    给出:

    这是你想要的吗??

    【讨论】:

    • 谢谢!看起来不错,但我试过了,它说“参数意味着不同的行数:98、196”,是因为我使用 read.spss 读取数据吗?
    • 抱歉,我不太熟悉 SPSS 文件格式。此错误意味着并非所有列都具有相同的行数,如果读取函数误解了分隔符,就会发生这种情况。例如在read.table(...) 中,默认分隔符是空格,但在某些数据集中,缺失值由空格表示,因此read.table(...) 将缺失值之后的所有内容移动一列。我自己也遇到过这个问题,可能会导致上述错误。您可以将 SPSS 数据保存为 csv 或制表符分隔的文本吗?
    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 2021-10-07
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多