我的数据表如下所示:
table_name expected_value observed_value
<chr> <dbl> <dbl>
1 table1 95237608 95100229
2 table2 3014052 3014052
3 table3 3024749 3024749
我想创建一个多变量条形图来比较每个表的expected_value
和observed_value
。
看起来像这样:
答案 0 :(得分:0)
首先在ggplot中这样做你必须将格式从宽变为长,(tidyr :: gather)然后你映射美学(选择要映射的变量),最后你必须使用stat“identity”而不是默认的“计数”,
library(ggplot2)
library(tidyr)
library(dplyr)
df <- data.frame(table_name =c("a", "b","c"), expected=runif(3), observed=runif(3))
gather(df, key, value, -table_name) %>% ggplot(aes(table_name, value, fill=key)) + geom_bar(stat="identity", position="dodge")