从数据点到回归(使用残差?)输入到新数据框列的距离

问题描述:

我希望能够根据该图上的线性回归来计算我图上每个单独数据点的距离,然后存储距离作为我原始数据框中的新变量(列)。根据this answer,可以使用线性回归的残差找到该距离值。但是,我不知道如何将其应用于每个单独的点,并且我不知道如何将值存储在数据框中(如果甚至可以的话)。从数据点到回归(使用残差?)输入到新数据框列的距离

我创建了一些示例数据...

ex.age <- c(50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70) 
ex.score <- c(10,9,9,10,8,7,9,6,8,7,6,8,6,5,6,4,5,6,3,5,3) 
ex.df <- data.frame(ex.age,ex.score) 

绘制时,它看起来像这样... graph

我想,然后能够从每个点的计算距离回归线,然后将其存储在新列ex.df$reg.dev中。

我该如何做到这一点?

谢谢。

+0

你不把它应用到每一个点。只要做'residuals(your_lm_object)' – Sotos

所有你需要做的就是从lm()中获取残差。

ex.age <- c(50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70) 
ex.score <- c(10,9,9,10,8,7,9,6,8,7,6,8,6,5,6,4,5,6,3,5,3) 
ex.df <- data.frame(ex.age,ex.score) 

ex_model <- lm(ex.score ~ ex.age, data = ex.df) 
ex.df$reg.dev <- ex_model$residuals 

ex.age <- c(50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70) 
ex.score <- c(10,9,9,10,8,7,9,6,8,7,6,8,6,5,6,4,5,6,3,5,3) 
ex.df <- data.frame(ex.age,ex.score) 

linear_model <- lm(ex.score ~ ex.age, data = ex.df) 
ex.df$reg.dev <- linear_model$residuals 

ex.df