【发布时间】:2016-10-10 04:49:17
【问题描述】:
我有一个包含四种细菌类型的数据框:R、B、P、Bi - 这是在 variable.x 中
value.y 是它们的丰度,variable.y 是它们所在的各个组。
我想根据食物类别对它们进行绘制:“FiberCategory”、“FruitCategory”、“VegetablesCategory”和“WholegrainCategory”。我已经制作了 4 个单独的文件,它们具有以下内容:
Sample Bacteria Abundance Category Level
30841102 R 0.005293192 1 Low
30841102 P 0.000002570 1 Low
30841102 B 0.005813275 1 Low
30841102 Bi 0.000000000 1 Low
49812105 R 0.003298709 1 Low
49812105 P 0.000000855 1 Low
49812105 B 0.131147541 1 Low
49812105 Bi 0.000350086 1 Low
所以,我想要一个条形图,显示每个类别中每种细菌的数量。所以它应该是 4 个图,对于每个细菌,y 轴上的值和 x 轴上的食物类别。
我试过这段代码:
library(dplyr)
genus_veg %>% group_by(Genus, Abundance) %>% summarise(Abundance = sum(Abundance)) %>%
ggplot(aes(x = Level, y= Abundance, fill = Genus)) + geom_bar(stat="identity")
但是得到这个错误:
Error: cannot modify grouping variable
有什么建议吗?
【问题讨论】:
-
请您进行编辑,使代码中的 data.frame 列名和变量名匹配。你看过
facet_wrap吗? -
@RichardTelford 我已更改数据并将它们分成 4 组。新代码现在已编辑。请问您有什么建议吗?
-
@surreals 数据框中的哪个变量是食物类别?