指定された x 値に基づいて、各グラフに水平線を描画するにはどうすればよいですか? たとえば、x 軸に X=1 がある場合、プロット上の一致するドットは (1,y0) であり、その結果、水平線 Y=y0? を描画します。
x=0.5 で垂直線のみを持つ虹彩データを使用した実際の例:
iris = read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data", sep=',', header=F)
names(iris) = c("sepal.length", "sepal.width", "petal.length", "petal.width", "iris.type")
xyplot(sepal.length ~ petal.width | iris.type, data = iris,
panel = function(...) {
panel.abline(v=0.5, lty = "dotted", col = "black")
panel.xyplot(...)
})
しかし、この方法で水平線を表示したい:iris-setosa
グラフ (パネル) を参照してください。(0.5,y) の点を通る水平線がマークされています。これを手動で描画します。y はパネルごとに異なるように見える変数なので、panel.abline で y を指定する方法がわかりません。
私の実際のデータでは、x と y は 1 対 1 の関係にあります。
簡単な問題だと思ったのですが、これを回避する方法がわかりません。これがより明確になることを願っています。