4

次のデータを使用してドットチャートを作成することについて質問があります。

    Patient ID Day Dosage of Drug (mg)
     1552        1     .3
     1552        7     .8
     1552       14    1.2
     1663        1     .2
     1663        7     .7
     1663       18    1.4

x軸を「日」、y軸を各患者としてドットチャートを作成できるため、患者ID 1552の場合、1、7、および14日目に3つのポイントがあります。問題はありません。しかし、今度は、ドットサイズがその日に服用した投与量に比例するようにし、14日目のドットが同じ患者IDラインの7と1よりも大きくなるようにします。これを行う方法はありますか?

dotchart()関数にy軸のフォント/ドットサイズを変更する変更可能な要素があることは知っていますがcex、それは均一に行われます。各ポイントを別々にプロットし、毎回、線量データに従ってドットサイズを異なるサイズにする方法はありますか?

4

2 に答える 2

1

ggplot2 を使用してこのようなグラフを作成します。

ggplot(aes(x = day, y = patient, size = dosage), data = df) + 
      geom_point()

ここで、データを含む data.frame は と呼ばれdf、day、patient、および dose という名前の列が含まれていると仮定します。

于 2012-06-13T14:05:51.157 に答える
1

パッケージを使用する場合は、次のggplot2ように実行できます。

dat <- read.table(textConnection("ID Day Dose
     1552        1     .3
     1552        7     .8
     1552       14    1.2
     1663        1     .2
     1663        7     .7
     1663       18    1.4"), header=TRUE)    

require(ggplot2)
p <- ggplot(dat, aes(factor(Day), factor(ID)))
p + geom_dotplot(binaxis = "y", stackdir = "center", binpositions="all") + 
 geom_point(aes(size=Dose))

ここに画像の説明を入力

于 2012-06-13T14:06:57.863 に答える