首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在网格bwplot中更改面板标签和x轴子标签

如何在网格bwplot中更改面板标签和x轴子标签
EN

Stack Overflow用户
提问于 2013-02-05 16:31:07
回答 1查看 11.7K关注 0票数 9

我使用RStudio (MacOS)已经两周了,所以如果我忽略了一个可以解决我的问题的明显功能,请原谅。

作为一个项目,我正在尝试复制一个带有4个表示净收益的曲线图,给定疾病类型--“非严重”(0)或“严重”(1) --作为x轴标签,并进行治疗--“谈话疗法”(0)或“药物疗法”(1) --作为x轴子标签。

到目前为止,我的脚本如下:

代码语言:javascript
复制
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“,现在显示为"Tx 0,Tx 1"),但理想情况下,我希望这些子标签分别表示”谈话疗法“和”药物疗法“。(我只是不知道如何去掉现有的数字标签。)

类似地,我希望面板标签在标签当前为0的情况下显示“不严重”,在标签当前为1的情况下显示“严重”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-05 18:01:05

据我所知,最简单的方法是将您的txdztype转换为具有适当级别名称的因子。

代码语言:javascript
复制
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)

另一种解决方案是对tx级别使用参数scale,对dztype使用参数strip

代码语言:javascript
复制
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)))

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14703094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档