一个简单地根据最接近的x和y值返回y值的模型

时间:2016-11-29 12:49:42

标签: r model linear

我有一组x(x1)和y(y1)的数据。我需要获得一组具有定义的x(x2)值的新数据(所以我需要找到相应的y值(y2))。对于每个x2,我希望模型找到x2之间的两个x1点,然后用直线连接它们并找到相应的y2。

基本上我想通过x1和y1点构建一个绘图,在这些点中它们与直线相交,然后执行类似于从该绘图中提取值的过程。

2 个答案:

答案 0 :(得分:0)

如果我理解你想要做的是创建一个线性模型,根据你已经拥有的数据预测给定X的Y.

这在R中是非常简单的,假设您的主数据帧被称为df1而第二个被称为df2,这将输出'x2'的'y2'预测:

fit <- lm(y ~ x, data = df1)
new <- data.frame(x = df2$x)
predict(fit, new)

如果您想在图表上绘制线条,您可以在ggplot中单独执行此操作:

ggplot(df1, aes(x, y) + geom_point() + geom_smooth(method='lm')

答案 1 :(得分:0)

或者,

f = approxfun(x,y)

应该做你想做的事。