在R中是否有任何包中給出3點的二次方程或是否必須手動執行?查找在R中給出3個點的二次方程
我有一個列表,其中包含x的值和包含y值的列表。
x = tail(mylist_x,3)
y = tail(mylist_y,3)
在R中是否有任何包中給出3點的二次方程或是否必須手動執行?查找在R中給出3個點的二次方程
我有一個列表,其中包含x的值和包含y值的列表。
x = tail(mylist_x,3)
y = tail(mylist_y,3)
使用線性迴歸:
x <- 1:3
y <- 0.5 * x^2 + 3 * x - 2
coef(lm(y ~ poly(x, 2, raw = TRUE)))
#(Intercept) poly(x, 2, raw = TRUE)1 poly(x, 2, raw = TRUE)2
# -2.0 3.0 0.5
或在評論中指出:
solve(cbind(1, x, x^2), y)
# x
#-2.0 3.0 0.5
注意lm
可以處理一些邊緣的情況下(例如,三個非唯一點) ,而solve
不能。
@Bathsheba謝謝!有沒有例子? – zinon
我不知道** R包**,但可以告訴你解決這個問題的數學方法,以及失敗時該方法的侷限性。我應該在答案部分告訴你嗎? – surajsn