如何更改面板标签和x轴子标签的格子bwplot(How to change panel labels

2019-07-19 07:13发布

我2周到使用RStudio(MacOS的),所以请原谅我,如果我俯瞰这将解决我的问题的明显作用。
作为项目,我试图再现箱线图具有表示净效益4个图,给定的疾病类型 - “非严重”(0)或“严重”(1) - 作为X轴的标签,并给定的治疗 - “谈话治疗”(0)或“药物疗法”(1) - 作为X轴子标签。

这里是我的脚本至今:

tx <- c(0,0,0,0,1,1,1,1)
dztype <- c(1,0,1,0,0,0,1,1)
NBwtp1000 <- c(-5500,-4000,-5000,-1000,-5000,-5000,-2800,-2000)
require(lattice)
bwplot(NBwtp1000 ~ paste0("Tx ", tx) | paste0("Disease Severity ", dztype),
       xlab="Talk Therapy (Tx 0) or Drug Therapy (Tx 1)", 
       ylab="Net Benefit @ wtp 1000", horizontal=FALSE)

如果您运行的代码,你会看到盒须图:我几乎没有感谢在这个论坛关于晶格的一些信息的帖子bwplot功能。

但是,我从对结果满意仍远。 我用paste0函数字符串描述符添加到X轴子标签为治疗组(最初标记为“1,2”和现在显示为“0的Tx,TX 1”),但我将理想像那些子标签说“通话疗法”和‘药物治疗’,分别。 (我根本不知道如何与现有的数字标签做了。)
同样,我想面板标签说“不重”里的标签是目前0和“严重”,其中标签是目前1。

Answer 1:

最简单的办法,据我看到的是你的转换txdztype因素与相应的级别名称。

tx <- factor(tx, levels=c(0,1), labels=c("Talk Therapy", "Drug Therapy"))
dztype <- factor(dztype, levels=c(0,1), labels=c("Not severe", "Severe"))
bwplot(NBwtp1000 ~ tx | dztype, xlab="Talk Therapy or Drug Therapy", 
       ylab="Net Benefit @ wtp 1000", horizontal=FALSE)

另一个解决方案是使用参数scaletx水平和参数stripdztype

tx <- c(0,0,0,0,1,1,1,1)
dztype <- c(1,0,1,0,0,0,1,1)
bwplot(NBwtp1000 ~ tx | dztype, xlab="Talk Therapy or Drug Therapy", 
       ylab="Net Benefit @ wtp 1000", horizontal=FALSE,
       scales=list(x=list(labels=c("Talk therapy","Drug Therapy"))), 
       strip=strip.custom(var.name="Disease severity", 
                          factor.levels=c(" Not Severe", "Severe"),
                          strip.levels=rep(TRUE,2)))



文章来源: How to change panel labels and x-axis sublabels in a lattice bwplot