複数の変数を持つ積み上げ棒グラフを作成しようとしていますが、次の 2 つの問題で立ち往生しています。
1) 回転した y 軸を取得して、カウントではなくパーセンテージを表示できないようです。
2) 「強く同意する」回答の割合に基づいて変数 (desc) を並べ替えたいと思います。
これが私がこれまでに持っているものの例です:
require(scales)
require(ggplot2)
require(reshape2)
# create data frame
my.df <- data.frame(replicate(10, sample(1:4, 200, rep=TRUE)))
my.df$id <- seq(1, 200, by = 1)
# melt
melted <- melt(my.df, id.vars="id")
# factors
melted$value <- factor(melted$value,
levels=c(1,2,3,4),
labels=c("strongly disagree",
"disagree",
"agree",
"strongly agree"))
# plot
ggplot(melted) +
geom_bar(aes(variable, fill=value, position="fill")) +
scale_fill_manual(name="Responses",
values=c("#EFF3FF", "#BDD7E7", "#6BAED6",
"#2171B5"),
breaks=c("strongly disagree",
"disagree",
"agree",
"strongly agree"),
labels=c("strongly disagree",
"disagree",
"agree",
"strongly agree")) +
labs(x="Items", y="Percentage (%)", title="my title") +
coord_flip()
ここまで来ることができたのは、何人かの方々のおかげです。Google が提供した多くのページの一部を次に示します。
http://www.r-bloggers.com/fumblings-with-ranked-likert-scale-data-in-r/
各スタックが合計 100% になるようにスケーリングされたスタック棒グラフを作成します
sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] reshape2_1.2.2 ggplot2_0.9.2.1 scales_0.2.2
loaded via a namespace (and not attached):
[1] colorspace_1.2-0 dichromat_1.2-4 digest_0.6.0 grid_2.15.0 gtable_0.1.1 HH_2.3-23
[7] labeling_0.1 lattice_0.20-10 latticeExtra_0.6-24 MASS_7.3-22 memoise_0.1 munsell_0.4
[13] plyr_1.7.1 proto_0.3-9.2 RColorBrewer_1.0-5 rstudio_0.97.237 stringr_0.6.1 tools_2.15.0