geom_boxplot使用分组/切割列进行IQR计算

时间:2012-12-03 18:37:15

标签: r statistics ggplot2 boxplot

我想使用geom_boxplot()在我的数据上显示IQR。

如果我有一个分组变量来按数据块计算stat,我需要预先计算一个ddply的数据帧,其中包含每个数据块的所有数据(IQR等)?或者我可以使用一些group=指令强制计算所有统计数据,然后geom_boxplot()自动显示它?

我的数据结构与此示例相同,统计计算的分组/切割变量为replication

dat <- read.table(textConnection("city population replication 
1 1 2500 1
2 2 3000 1
3 3 1200 1
4 1 2200 2
5 2 3100 2
6 3 1800 2
"))

例如,我想显示复制1种群的geom_boxplot(),然后显示复制2种群。

1 个答案:

答案 0 :(得分:0)

这是你要找的那种情节吗?

此处,数值变量replication将转换为一个因子,以便为每个级别生成单独的箱图。

library(ggplot2)
ggplot(dat, aes(x = as.factor(replication), y = population)) + geom_boxplot()

enter image description here


如果您不将replication转换为因子但使用aes(group = replication)作为geom_boxplot的参数,您将获得类似的图(使用数字x比例):

ggplot(dat, aes(x = replication, y = population)) +
  geom_boxplot(aes(group = replication))

enter image description here