Split the ChickWeight{datasets} data by individual chicks to extract separate slope estimates of regressing weight onto Time for each chick.
library(datasets)
dta <- datasets::ChickWeight
head(dta)
## weight Time Chick Diet
## 1 42 0 1 1
## 2 51 2 1 1
## 3 59 4 1 1
## 4 64 6 1 1
## 5 76 8 1 1
## 6 93 10 1 1
m0 <- lapply(split(dta[, 1:2],
list(dta$Chick)),
function(x) lm(weight~Time, data=x))
sapply(m0, coef)
## 18 16 15 13 9 20 10
## (Intercept) 39 43.392857 46.83333 43.384359 52.094086 37.667826 38.695054
## Time -2 1.053571 1.89881 2.239601 2.663137 3.732718 4.066102
## 8 17 19 4 6 11 3
## (Intercept) 43.727273 43.030706 31.21222 32.86568 44.123431 47.921948 23.17955
## Time 4.827273 4.531538 5.08743 6.08864 6.378006 7.510967 8.48737
## 1 12 2 5 14 7 24
## (Intercept) 24.465436 21.939797 24.724853 16.89563 20.52488 5.842535 53.067766
## Time 7.987899 8.440629 8.719861 10.05536 11.98245 13.205264 1.207533
## 30 22 23 27 28 26 25
## (Intercept) 39.109666 40.082590 38.428074 29.858569 23.984874 20.70715 19.65119
## Time 5.898351 5.877931 6.685978 7.379368 9.703676 10.10316 11.30676
## 29 21 33 37 36 31 39
## (Intercept) 5.882771 15.56330 45.830283 29.608834 25.85403 19.13099 17.03661
## Time 12.453487 15.47512 5.855241 6.677053 9.99047 10.02617 10.73710
## 38 32 40 34 35 44 45
## (Intercept) 10.67282 13.69173 10.83830 5.081682 4.757979 44.909091 35.673121
## Time 12.06051 13.18091 13.44229 15.000151 17.258811 6.354545 7.686432
## 43 41 47 49 46 50 42
## (Intercept) 52.185751 39.337922 36.489790 31.662986 27.771744 23.78218 19.86507
## Time 8.318863 8.159885 8.374981 9.717894 9.738466 11.33293 11.83679
## 48
## (Intercept) 7.947663
## Time 13.714718