2

1つの従属変数に対して複数の従属変数を持つデータセットがあるとします。を使用xyplotすると、それらを単純にとしてプロットできますxyplot(y1+y2~x, data=d)y1あるプロットタイプ(例:ポイント)とy2別のプロットタイプ(例:ライン)でどのようにプロットしますか?

再現可能な例:

my.df <- data.frame(time=c(1:20), lower.lim=runif(n=20, min=1,max=4),
                    upper.lim=runif(n=20, min=6,max=9),
                    observed=runif(n=20,min=0,max=10))

xyplot(lower.lim + upper.lim + observed ~ time, data=my.df, type=c("p","l"))

プロットlower.limupper.limas type="s"、およびobservedastype=c("p","l")

これはカスタム関数で実行できるはずだと思いますpanelが、各従属変数を個別に操作する方法がわかりません。

4

1 に答える 1

4

引数とともにpanel.groupswithinを使用して、現在描画されている変数を検出できます。panel.superposegroup.number

panelfun <- function(...,type,group.number) {
    if (group.number==3) {
        panel.points(...)
        panel.lines(...)
    } else {
        panel.points(...,type="s")
    }
}

xyplot(lower.lim+upper.lim+observed ~ time, data=my.df,
    panel=function(...) panel.superpose(...,panel.groups=panelfun),
       col=c(1,1,2))
于 2013-02-08T00:06:34.710 に答える