Add Column of Predicted Values to Data Frame with dplyr

后端 未结 4 1012
太阳男子
太阳男子 2020-12-14 23:47

I have a data frame with a column of models and I am trying to add a column of predicted values to it. A minimal example is :

exampleTable <- data.frame(x          


        
4条回答
  •  孤城傲影
    2020-12-15 00:19

    Using the tidyverse:

    library(dplyr)
    library(purrr)
    library(tidyr)
    library(broom)
    
    exampleTable <- data.frame(
      x = c(1:5, 1:5),
      y = c((1:5) + rnorm(5), 2*(5:1)),
      groups = rep(LETTERS[1:2], each = 5)
    )
    
    exampleTable %>% 
      group_by(groups) %>%
      nest() %>% 
      mutate(model = data %>% map(~lm(y ~ x, data = .))) %>% 
      mutate(Pred = map2(model, data, predict)) %>% 
      unnest(Pred, data)
    
    # A tibble: 10 × 4
       groups      Pred     x          y
                   
    1       A  1.284185     1  0.9305908
    2       A  1.909262     2  1.9598293
    3       A  2.534339     3  3.2812002
    4       A  3.159415     4  2.9283637
    5       A  3.784492     5  3.5717085
    6       B 10.000000     1 10.0000000
    7       B  8.000000     2  8.0000000
    8       B  6.000000     3  6.0000000
    9       B  4.000000     4  4.0000000
    10      B  2.000000     5  2.0000000
    

提交回复
热议问题