簡體   English   中英

如何在格子bwplot中更改面板標簽和x軸子標簽

[英]How to change panel labels and x-axis sublabels in a lattice bwplot

我使用RStudio(MacOS)需要2周時間,所以如果我忽略了一個可以解決我問題的明顯功能,請原諒我。
作為一個項目,我試圖重現一個箱形圖,其中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”,現在顯示為“Tx 0,Tx 1”),但我理想地喜歡這些子標簽說“談話”治療“和”葯物治療“,分別。 (我根本不知道如何取消現有的數字標簽。)
同樣,我希望面板標簽在標簽當前為0時顯示“Not Severe”,在標簽當前為1時為“Severe”。

就我所見,最簡單的方法是將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)))

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM