当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R modelr add_residuals 将残差添加到 DataFrame


将残差添加到 DataFrame

用法

add_residuals(data, model, var = "resid")

spread_residuals(data, ...)

gather_residuals(data, ..., .resid = "resid", .model = "model")

参数

data

用于生成残差的 DataFrame

model, var

add_residuals 采用单个 model ;输出列将被称为resid

...

gather_residualsspread_residuals 采用多个模型。该名称将从参数名称或模型名称中获取。

.resid, .model

gather_residuals 使用的变量名称。

一个 DataFrame 。 add_residuals 将一个新列 .resid 添加到输入 data 中。 spread_residuals 为每个模型添加一列。 gather_predictions 添加两列 .model.resid ,并为每个模型重复输入行。

例子

df <- tibble::tibble(
  x = sort(runif(100)),
  y = 5 * x + 0.5 * x ^ 2 + 3 + rnorm(length(x))
)
plot(df)


m1 <- lm(y ~ x, data = df)
df %>% add_residuals(m1)
#> # A tibble: 100 × 3
#>         x     y  resid
#>     <dbl> <dbl>  <dbl>
#>  1 0.0130  2.05 -0.636
#>  2 0.0248  4.16  1.40 
#>  3 0.0256  3.72  0.961
#>  4 0.0267  1.98 -0.788
#>  5 0.0312  3.60  0.804
#>  6 0.0356  4.77  1.95 
#>  7 0.0383  2.25 -0.580
#>  8 0.0397  1.16 -1.68 
#>  9 0.0573  2.34 -0.607
#> 10 0.0672  1.99 -1.02 
#> # … with 90 more rows

m2 <- lm(y ~ poly(x, 2), data = df)
df %>% spread_residuals(m1, m2)
#> # A tibble: 100 × 4
#>         x     y     m1     m2
#>     <dbl> <dbl>  <dbl>  <dbl>
#>  1 0.0130  2.05 -0.636 -0.816
#>  2 0.0248  4.16  1.40   1.24 
#>  3 0.0256  3.72  0.961  0.796
#>  4 0.0267  1.98 -0.788 -0.951
#>  5 0.0312  3.60  0.804  0.646
#>  6 0.0356  4.77  1.95   1.80 
#>  7 0.0383  2.25 -0.580 -0.729
#>  8 0.0397  1.16 -1.68  -1.83 
#>  9 0.0573  2.34 -0.607 -0.733
#> 10 0.0672  1.99 -1.02  -1.14 
#> # … with 90 more rows
df %>% gather_residuals(m1, m2)
#> # A tibble: 200 × 4
#>    model      x     y  resid
#>    <chr>  <dbl> <dbl>  <dbl>
#>  1 m1    0.0130  2.05 -0.636
#>  2 m1    0.0248  4.16  1.40 
#>  3 m1    0.0256  3.72  0.961
#>  4 m1    0.0267  1.98 -0.788
#>  5 m1    0.0312  3.60  0.804
#>  6 m1    0.0356  4.77  1.95 
#>  7 m1    0.0383  2.25 -0.580
#>  8 m1    0.0397  1.16 -1.68 
#>  9 m1    0.0573  2.34 -0.607
#> 10 m1    0.0672  1.99 -1.02 
#> # … with 190 more rows
源代码:R/residuals.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Add residuals to a data frame。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。