我有一个如下所示的数据框。我有每个观察变量三个变量,我想为这三个变量中的每一个创建每个观察的条形图。但是,ggplot2似乎没有办法从同一数据框中指定多个列。绘制此数据的正确方法是什么?
针对维基媒体中类似于下图的内容(每个观察的图表)。资料来源:https://commons.wikimedia.org/wiki/File:Article_count_(en-de-fr).png
x English German French
Sample 1 5 10 14
Sample 2 4 4 14
Sample 3 5 10 53
答案 0 :(得分:1)
不知道为什么每个x值有2行。 这毫无意义。你想要绘制什么?每个A,B,C的总和?意思是?
假设你想采取平均值:只做
dat <- read.table(textConnection(
"x A B C
1 5 10 14
1 4 4 14
2 5 10 14
2 4 4 14
3 5 10 14
3 4 4 14
"), header=TRUE)
dat <- aggregate(. ~ x, data=dat, mean) # instead of mean you can take your function
require(reshape2)
dat_molten <- melt(dat,"x")
require(ggplot2)
ggplot(dat_molten, aes(x=variable, y=value)) +
geom_bar(stat="identity") +
facet_grid(.~x)