我有一个我正在分析的估算数据集,我正在尝试绘制箱形图,但我无法绕过正确的程序。
我的数据(一个样本,原始每个插补有20个观察值,每组有13个变量,所有值都在0到25之间):
.imp .id FTE_RM FTE_PD OMZ_RM OMZ_PD
1 1 25 25 24 24
1 2 4 0 2 6
1 3 11 5 3 2
1 4 12 3 3 3
2 1 20 15 15 15
2 2 4 1 2 3
2 3 0 0 0 6
2 4 20 0 0 0
.imp
表示每个观察点的归集,.id
。
我想在一个图中绘制所有FTE_*
变量(和另一个中的'OMZ_ *),但是想知道如何处理所有的插补,我可以只包括所有值吗?现在,估算的数据有500个观测值。例如,使用ANOVA,我需要将ANOVA结果平均5,以回到20个观察值。但是这也需要一个箱形图,因为我只处理中位数,手段,最大值。和分钟?
如:
data_melt <- melt(df[grep("^FTE_", colnames(df))])
ggplot(data_melt, aes(x=variable, y=value))+geom_boxplot()
我和ggplot玩了几次,但认为自己是一个完整的新手。
答案 0 :(得分:1)
我假设你想在熔化之后保留.imp和.id的标识符,而不是把它放在:
data_melt <- melt(df,c(".imp",".id"))
为了完整的数据帧,可能有助于引入一个标识类型的列 - FTE与OMZ:
data_melt$type <- ifelse(grepl("FTE",data_melt$variable),"FTE","OMZ")
拥有这个data.frame,你可以,例如,在类型上的facet(或者你可以在data_melt
上使用一个简单的过滤器语句来限制一种类型):
ggplot(data_melt, aes(x=variable, y=value))+geom_boxplot()+facet_wrap(~type,scales="free_x")
这看起来像这样。 编辑:修复数据搞乱