R 的大部分内容都在将您的数据转换为正确的格式,而我正在努力创建一个两面板格子图,每组三人一组。最后,我想展示一系列简化的箱形罐,它们只显示从 Lower95 到 Upper95 的一条线和一个中心点,对于每个药物和测试,并且有两个面板(Sen & Spec),有六行(和其中的点)。
我的简化数据看起来像这样
df2 <- data.frame (
Center = c(0.94, 0.97, 0.95, 0.97, 1, 0.94, 1, 0.99, 0.96, 0.98, 0.98, 0.99),
Lower95 =c(0.91, 0.95, 0.93, 0.95, 0.98, 0.91, 0.98, 0.96, 0.92, 0.96, 0.95, 0.96),
Upper95 =c(0.96, 0.98, 0.97, 0.98, 1, 0.96, 1, 1, 0.98, 0.99, 0.99, 1 ),
Y = c(1,2,3,4,5,6,1,2,3,4,5,6),
Drug=c("INH","INH","INH","RIF","RIF","RIF","INH","INH","INH","RIF","RIF","RIF"),
Test=c("LPA","MODS","PSQ","LPA","MODS","PSQ","LPA","MODS","PSQ","LPA","MODS","PSQ"),
Measure=c("Sen","Sen","Sen","Sen","Sen","Sen","Spec","Spec","Spec","Spec","Spec","Spec")
)
attach(df2)
xyplot(Y~Lower95+Upper95|Measure, df=df2, type="o")
所以这会输出这个图像,并且有几个问题 - :
- 我使用 Y 作为“虚拟”变量,试图在同一个面板上获得两组三个测试,但这似乎没有按预期工作。每个面板中有两组三个测试(但请参见#2)
- 该图连接了三个测试的三个点(不是Lower95和Upper95的两个点)
- 我不清楚如何将中心作为图表中的一个点
这是我想要的东西(我在 GIMP 中的 hack)-
我尝试重塑数据以及 xyplot 中的其他一些东西(例如不同的因素/组)但未成功,但我似乎无法让它以我希望的方式工作。
谢谢你的帮助 !