【问题标题】:Input distance from data point to regression (using residuals?) into a new dataframe column从数据点到回归的距离(使用残差?)输入新的数据框列
【发布时间】:2018-01-04 19:04:32
【问题描述】:

我希望能够根据我在该图上的线性回归计算我的图上每个单独数据点的距离,然后将距离作为新变量(列)存储在我的原始数据框中。基于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)

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

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

我怎样才能做到这一点?

谢谢。

【问题讨论】:

  • 您不会将其应用于每个点。就做residuals(your_lm_object)

标签: r regression data-modeling linear-regression modeling


【解决方案1】:

您需要做的就是从 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

【讨论】:

    【解决方案2】:
    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
    

    【讨论】:

      猜你喜欢
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多