次のデータフレームがあります
Op.1 Op.2 Site diet Horse ICS
35 25 a 1 1 10
32 31 a 1 2 10
19 32 a 1 3 10
17 26 a 1 4 10
25 19 a 1 5 10
25 17 a 1 6 10
#... to 432 observations
次の関数を使用して Bland-Altman プロットを作成しました。
BAplot <- function(x,y,yAxisLim=c(-50,50),xlab="Average", ylab="Difference") {
d <- ((x + y)/2)
diff <- x - y
plot(diff ~ d,ylim=yAxisLim,xlim=c(0,60),xlab=xlab,ylab=ylab)
abline(h=(mean(na.omit(diff))-c(-0.96,0,0.96)*sd(na.omit(diff))),lty=2)
}
得られたプロットは問題ありません。今、data$Site (4 レベル: 0,1,2,3) に従って色を指定し、data$ICS のレベル (6 レベル: 10,11,12,13,14,15) に従って形状を指定しようとしています。
次のコードを書きました。
clr <- c("a"="red","b"="blue","c"="green","d"="yellow")[data$Site]
shape <- c("10"="0","11"="1","12"="2","13"="3","14"="4","15"="5")[data$ICS]
plot.ops<-BAplot(data$Op.1,data$Op.2,xlab="(Op1 vs Op 2)/2", ylab="Op1-mean of aOp1+Op2",col=clr,pch=shape)
しかし、それはエラーを与えます
Error in BAplot(data$Op.1, data$Op.2, xlab = "(Op1 vs Op 2)/2", ylab = "Op1-mean of Op1+Op2", :
unused arguments (col = clr, pch = shape)
私も形状を変更しようとしました <- c(10=0,11=1,12=2...) 1,2,3 は pch の異なる形状タイプですが、それでも機能しません。clrについても同じことが言えます。
私が最終的に望んでいるのは、「サイト」の色と「ICS」の形状が異なるプロットです。
これは非常に単純なものであることを意図していますが、基本的な概念上のエラーがある可能性があると思いますが、行き詰まっています。
また、塗りつぶされた形状または空の形状を使用してダイエット (2 レベル) を追加しますが、最初にこれを並べ替えるまで、その段階に到達できません!
どうもありがとう、M