R 中的条形图,采样数据的聚合
我想要下面数据的堆叠条形图或至少两个条形图(直方图)。但我不知道怎么做。情节(在线)不是我正在寻找的解决方案。请看下文。
online offline
1 sehrwichtig wichtig
2 wichtig unwichtig
3 sehrwichtig unwichtig
4 sehrwichtig sehrwichtig
5 sehrwichtig sehrwichtig
6 sehrwichtig unwichtig
7 sehrwichtig unwichtig
8 wichtig wichtig
9 wichtig unwichtig
10 sehrwichtig sehrwichtig
11 sehrwichtig wichtig
12 sehrwichtig unwichtig
13 wichtig sehrwichtig
14 sehrwichtig wichtig
我知道我需要一个步骤,将数据聚合到:
online offline
sehrwichtig 6 7
unwichtig 0 1
wichtig 3 5
但是如何聚合?
I want a stacked barplot or at least two barplots (histograms) of the data below. But I can't figure out how. plot(online) is not the solution, I´m looking for. Please see below.
online offline
1 sehrwichtig wichtig
2 wichtig unwichtig
3 sehrwichtig unwichtig
4 sehrwichtig sehrwichtig
5 sehrwichtig sehrwichtig
6 sehrwichtig unwichtig
7 sehrwichtig unwichtig
8 wichtig wichtig
9 wichtig unwichtig
10 sehrwichtig sehrwichtig
11 sehrwichtig wichtig
12 sehrwichtig unwichtig
13 wichtig sehrwichtig
14 sehrwichtig wichtig
I know I need a step, where the data is aggregated to:
online offline
sehrwichtig 6 7
unwichtig 0 1
wichtig 3 5
But how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
该聚合只是对
apply
内部的table
的简单调用:您可以将其输入到
barplot
中。That aggregation is just a simple call to
table
inside ofapply
:which you can feed into
barplot
.使用 ggplot2,您不需要预先聚合数据:
With ggplot2, you don't need to pre-aggregate the data:
德克的答案是要走的路,但在OP的数据上,简单的
apply(foo,2,table)
将不起作用——你需要处理0条目,也许像这样:为了简洁起见,您可以合并最后 3 行:
输出为:
Dirk's answer is the way to go, but on the OP's data a simple
apply(foo,2,table)
won't work -- you need to deal with the 0 entry, perhaps like so:For brevity's sake, you could combine the last 3 lines:
The output is:
我自己没有这样做过,但我确实知道很多人使用 R 包来将其放入第二个数组中。它称为
reshape
:http://www.statmethods.net/management /reshape.html
http://had.co.nz/reshape/introduction。 pdf
至于绘图部分,我认为
lattice
或ggplot
可能都有实现你想要的功能,但我又是一个 R 新手,所以我不能说更多...I haven't done this myself, but I do know of the R package that a lot of people use for the step of putting it in the second array there. It's called
reshape
:http://www.statmethods.net/management/reshape.html
http://had.co.nz/reshape/introduction.pdf
As for the plotting part, I think that
lattice
orggplot
probably both have functions for doing exactly what you want, but again I am an R newbie so I can't say much more...