10

RStudio (MacOS) を使い始めて 2 週間が経ちました。問題を解決する明らかな機能を見落としていたら、ご容赦ください。
プロジェクトとして、病気の種類 (「非重症」(0) または「重症」(1)) を x 軸のラベルとして指定し、純利益を表す 4 つのプロットを含むボックス プロット グラフを再現しようとしています。与えられた治療 -- 「会話療法」(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" と表示されています) が、これらのサブラベルに "Talk Therapy 」と「薬物療法」、それぞれ。(既存の数値ラベルを削除する方法がわかりませんでした。)
同様に、ラベルが現在 0 の場合はパネル ラベルに「重大ではない」と表示し、ラベルが現在 1 の場合は「重大」と表示するようにします。

4

1 に答える 1

10

私が見る限り、最も簡単な方法は、適切なレベル名を持つファクターtxに変換することです。dztype

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レベルに引数を使用し、次の引数を使用することstripですdztype

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)))

ここに画像の説明を入力してください

于 2013-02-05T10:01:04.663 に答える