library(nlme)
library(DT)
data("Milk")

Tạo ra một dữ liệu mẫu về mô hình tuyến tính

set.seed(123)
N <- 100
time <- rep(1:5, each = N/5)
group <- rep(LETTERS[1:5], N/5)
x <- rnorm(N)
y <- 2*x + 0.5*time + rnorm(N)
mydata <- data.frame(time, group, x, y)
d <- lme(fixed = y ~ x + time, random = ~ 1 | group, data = mydata)
summary(d)
## Linear mixed-effects model fit by REML
##   Data: mydata 
##        AIC      BIC    logLik
##   292.1412 305.0148 -141.0706
## 
## Random effects:
##  Formula: ~1 | group
##         (Intercept)  Residual
## StdDev:    0.240024 0.9460997
## 
## Fixed effects:  y ~ x + time 
##                  Value  Std.Error DF   t-value p-value
## (Intercept) -0.3066025 0.24650015 93 -1.243823  0.2167
## x            1.9315503 0.10466033 93 18.455419  0.0000
## time         0.5684147 0.06702909 93  8.480119  0.0000
##  Correlation: 
##      (Intr) x     
## x     0.012       
## time -0.813 -0.062
## 
## Standardized Within-Group Residuals:
##         Min          Q1         Med          Q3         Max 
## -1.69510206 -0.71057793 -0.07125941  0.55654758  3.20625988 
## 
## Number of Observations: 100
## Number of Groups: 5
f <- lme(fixed = y ~ x, random = ~ 1 | group, data = mydata)
varcov <- getVarCov(f)
summary(varcov)
##   (Intercept)     
##  Min.   :0.02185  
##  1st Qu.:0.02185  
##  Median :0.02185  
##  Mean   :0.02185  
##  3rd Qu.:0.02185  
##  Max.   :0.02185
g <- lm(y ~ x, data = mydata)
cov_matrix <- vcov(g)
summary(cov_matrix)
##   (Intercept)              x            
##  Min.   :-0.001741   Min.   :-0.001741  
##  1st Qu.: 0.002705   1st Qu.: 0.003509  
##  Median : 0.007152   Median : 0.008760  
##  Mean   : 0.007152   Mean   : 0.008760  
##  3rd Qu.: 0.011599   3rd Qu.: 0.014011  
##  Max.   : 0.016046   Max.   : 0.019261
s <- lme(fixed = y ~ x, random = ~ 1 | group, data = mydata)
random_effects <- ranef(s)
summary(random_effects)
##   (Intercept)      
##  Min.   :-0.08671  
##  1st Qu.:-0.05973  
##  Median : 0.02785  
##  Mean   : 0.00000  
##  3rd Qu.: 0.05279  
##  Max.   : 0.06580
m <- lme(fixed = y ~ x, random = ~ 1 | group, data = mydata)
fixed_effects <- fixed.effects(m)
summary(fixed_effects)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.393   1.543   1.693   1.693   1.843   1.992
n <- lme(fixed = y ~ x, random = ~ 1 | group, data = mydata)
model <- residuals(n)
summary(model)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -2.51108 -0.96206 -0.03114  0.00000  0.84860  3.77426
model <- lm(y ~ x + factor(group), data = mydata)
anova_results <- anova(model)
summary(anova_results)
##        Df           Sum Sq           Mean Sq           F value       
##  Min.   : 1.0   Min.   :  8.029   Min.   :  1.571   Min.   :  1.278  
##  1st Qu.: 2.5   1st Qu.: 77.854   1st Qu.:  1.789   1st Qu.: 53.245  
##  Median : 4.0   Median :147.679   Median :  2.007   Median :105.212  
##  Mean   :33.0   Mean   :161.429   Mean   :110.719   Mean   :105.212  
##  3rd Qu.:49.0   3rd Qu.:238.129   3rd Qu.:165.293   3rd Qu.:157.179  
##  Max.   :94.0   Max.   :328.579   Max.   :328.579   Max.   :209.146  
##                                                     NA's   :1        
##      Pr(>F)       
##  Min.   :0.00000  
##  1st Qu.:0.07109  
##  Median :0.14218  
##  Mean   :0.14218  
##  3rd Qu.:0.21327  
##  Max.   :0.28436  
##  NA's   :1

```