自升级到R 2.15以来,formatter参数似乎抛出了错误.这是我每天都在使用2年的争论,所以这是一个巨大的失败.
R版本2.15.0(2012-03-30)
ggplot2版本0.9.0
> library(ggplot2)
> x <- 1:100
> y <- 1/x
> p <- qplot(x,y)
> p + scale_y_continuous(formatter = "percent")
Error in continuous_scale(c("y", "ymin", "ymax", "yend", "yintercept", :
unused argument(s) (formatter = "percent")
Run Code Online (Sandbox Code Playgroud) 我有以下格式的数据(此处,从CSV文件导入).您可以在此处找到CSV格式的示例数据集.
PAIR PREFERENCE
1 5
1 3
1 2
2 4
2 1
2 3
Run Code Online (Sandbox Code Playgroud)
… 等等.总共有19对,PREFERENCE范围从1到5,作为离散值.
我需要的是每对的堆叠直方图,例如100%高的列,指示PREFERENCE值的分布.
类似于Excel中的"100%堆积列",或者(尽管不完全相同,所谓的"马赛克图"):

我认为它最容易使用ggplot2,但我甚至不知道从哪里开始.我知道我可以创建一个简单的条形图,例如:
ggplot(d, aes(x=factor(PAIR), y=factor(PREFERENCE))) + geom_bar(position="fill")
Run Code Online (Sandbox Code Playgroud)
......然而,这并没有让我走得太远.所以我尝试了这个,它让我更接近我想要实现的目标,但它仍然使用了PREFERENCE我的计数,我想?注意ylab这里是"count",值是19.
qplot(factor(PAIR), data=d, geom="bar", fill=factor(PREFERENCE_FIXED))
Run Code Online (Sandbox Code Playgroud)
结果是:
