カニューレを挿入した動脈の圧力を 5 から 55 に段階的に増加させ、次に 55 から 5 に段階的に圧力を減少させて測定した一連の圧力 - 直径データ (圧力 = X、直径 = Y) があります。データを最適に適合させるために黄土線を使用しています。一連の圧力 X での直径 Y を予測したいと思います。
P <- c(5.0, 10.2, 15.2, 20.0, 25.1, 30.0, 34.9, 40.1, 45.2, 50.2, 55.2, 49.9, 44.9, 40.3, 34.8, 29.8, 25.2, 20.1, 15.1, 9.8, 5.2)
D <- c(1.41, 1.47, 1.53, 1.59, 1.67, 1.74, 1.79, 1.82, 1.86, 1.89, 1.91, 1.88, 1.88, 1.85, 1.81, 1.77, 1.70, 1.63, 1.56, 1.49, 1.43)
df <- data.frame(P,D)
ggplot(df, aes(x = P, y = D)) + geom_point() + stat_smooth(method = "loess", formula = y ~ x, size = 1, se = FALSE, colour = "red")
fit <- loess(D ~ P)
xNew <- seq(5, 55, 5) # New Pressures
predictY <- predict(fit, newdata=data.frame(y=yNew)) # Diameters Predictions
predictY
points(xNew, predictY)
ただし、これによりエラーが発生します:「xy.coords(x, y) のエラー: 'x' と 'y' の長さが異なります」規模。
複雑な回避策の各行で、「より優れた簡単な解決策があるに違いない」と思いますが、それはわかりません。
たぶん、predict() は私が必要としているものではないので、黄土式を使用して、関心のあるいくつかのポイント (通常は xNew の中央にある小さなサブセット) を計算する必要があるだけです。最終的には、この二重セットの代わりに、レス フィットからのデータのみが必要です。つまり、X (圧力) の 1 つのシーケンスと Y (直径) の 1 つのシーケンスです。
どんな提案でも大歓迎です。
ありがとう!ショーナ