Trending

Linear Mixed Effects Model (LMM) in R: Analyzing Plant Growth by Treatment Type

What is a Linear Mixed Effects Model (LMM)?

    A Linear Mixed Effects Model (LMM) is a statistical model that extends the traditional linear regression framework to accommodate both fixed effects and random effects. This makes LMMs particularly useful for analyzing data where observations are not entirely independent, such as when data is collected in a hierarchical or clustered manner (e.g., repeated measurements on the same subjects or nested experimental designs).

Fixed Effects: 

    These are the effects of variables of interest that are consistent and predictable across the entire population or dataset. For example, in a study on plant growth, the treatment type (e.g., fertilizer vs. no fertilizer) might be considered a fixed effect.

Random Effects: 

    These account for random variability in the data that cannot be explained by the fixed effects. They typically represent the effects of variables that are random samples from a larger population. For instance, the variability due to different plots or experimental units (e.g., different plants) might be treated as a random effect.

Application in Biological Sciences

LMMs are widely used in biological sciences for several reasons:

Handling Repeated Measures: 

    In biological experiments, measurements are often taken multiple times from the same subjects (e.g., tracking the growth of plants over time). LMMs can model the correlation between these repeated measures within the same subject.

Hierarchical Data Structures: 

    Biological data is frequently hierarchical. For example, in an ecological study, individual observations might be nested within groups (e.g., animals within herds, herds within regions). LMMs allow you to model both the within-group and between-group variability.

Balancing Fixed and Random Effects: 

    Biological data often involve both fixed effects (e.g., treatment types) and random effects (e.g., individual variability among subjects). LMMs provide a framework to analyze both simultaneously.

To use a Linear Mixed Effects Model (LMM) for plant growth data with treatment types in R Studio, follow these steps:

Scenario:

    You have a dataset where plant growth (measured as height) is influenced by different treatment types (e.g., fertilizer type), and plants are nested in different plots. Here, you want to account for both fixed effects (treatment type) and random effects (variability between plots and plants).

Prepare Your Data:

Your data should be organized with columns for:

Height (dependent variable)

Treatment Type (fixed effect)

Plot (random effect, accounting for variability between plots)

Plant (nested within Plot, as an additional random effect)

Here is an example dataset with 2 plots and 4 treatment groups (A, B, C, D). Each plot has 2 plants, and the plant heights (in cm) are recorded:

Plot Plant Treatment Height
1 1 A 15.2
1 2 A 14.8
1 1 B 13.5
1 2 B 12.9
1 1 C 16.4
1 2 C 15.7
1 1 D 14.0
1 2 D 13.8
2 1 A 16.1
2 2 A 15.9
2 1 B 12.2
2 2 B 11.9
2 1 C 17.2
2 2 C 16.8
2 1 D 14.5
2 2 D 14.2

Explanation:

Plot: Identifies the plot number (from 1 to 10).

Plant: Identifies the plant within each plot (2 plants per plot).

Treatment: Treatment group applied to the plot (A, B, C, D represent different types of treatments like different fertilizers).

Height: The height of the plant in centimeters.

This dataset can be used to analyze the effect of the Treatment on plant growth using a Linear Mixed Effects Model (LMM), where Treatment is the fixed effect, and Plot and Plant are random effects to account for variability.

Run the Analysis:

To perform a Linear Mixed Effects Model (LMM) analysis on your dataset in R, follow the steps below:

Install and Load Required Packages

install.packages("lme4")
install.packages("lmerTest")  # To get p-values in the summary
library(lme4)
library(lmerTest)

Prepare Your Data

You can enter your data into a data frame, or if it is in a file, you can load it using read.csv() or read.table().

Here’s how you can create your dataset directly in R:

library(readxl)
LMM <- read_excel("R/LMM.xlsx")
View(LMM)

Fit the Linear Mixed Effects Model

We’ll use Treatment as a fixed effect and Plot as a random effect in the model, with Height as the response variable.

# Fit the Linear Mixed Effects Model (LMM)
lmm_model <- lmer(Height ~ Treatment + (1 | Plot), data = data)

# Summary of the model
summary(lmm_model)

Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: Height ~ Treatment + (1 | Plot)
   Data: data

REML criterion at convergence: 26.8

Scaled residuals: 
     Min       1Q   Median       3Q      Max 
-1.37869 -0.58233 -0.04281  0.61887  1.53217 

Random effects:
 Groups   Name        Variance Std.Dev.
 Plot     (Intercept) 0.006193 0.0787  
 Residual             0.341080 0.5840  
Number of obs: 16, groups:  Plot, 2

Fixed effects:
            Estimate Std. Error      df t value Pr(>|t|)    
(Intercept)  15.5000     0.2973  8.0680  52.142 1.71e-11 ***
TreatmentB   -2.8750     0.4130 11.0000  -6.962 2.39e-05 ***
TreatmentC    1.0250     0.4130 11.0000   2.482  0.03046 *  
TreatmentD   -1.3750     0.4130 11.0000  -3.330  0.00672 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
           (Intr) TrtmnB TrtmnC
TreatmentB -0.695              
TreatmentC -0.695  0.500       
TreatmentD -0.695  0.500  0.500

Interpretation of the Model Output

The summary will show:

Fixed effects: Estimates of the effect of Treatment on Height.
Random effects: The variance explained by Plot.
P-values: Significance of the fixed effects.

Model Diagnostics

Check model assumptions and residuals using diagnostic plots:

# Residual diagnostics
plot(lmm_model)

Visualization

You can visualize the model results with ggplot2:

library(ggplot2)

ggplot(data, aes(x = Treatment, y = Height, color = Plot)) +
geom_point() +
geom_smooth(method = "lm") +
labs(title = "Plant Height by Treatment", x = "Treatment Type", y = "Plant Height")     
                                                                                        # Plot Treatment vs Height

To increase the size of the points in your ggplot graph specifically for the Treatment type, you can use the size argument within the geom_point() function. Here's how you can modify your code:

ggplot(data, aes(x = Treatment, y = Height, color = Plot)) +
geom_point(size = 3) + # Adjust point size
geom_smooth(method = "lm") +
labs(title = "Plant Height by Treatment", x = "Treatment Type", y = "Plant Height")     
                                                                                        # Plot Treatment vs Height

To change the colors, font style, and size in your ggplot, you can modify various components within the ggplot functions. Here's how you can customize the graph:

Colors: Use the scale_color_manual() function to specify colors for your Plot variable or use predefined palettes.

Font Style and Size: Use the theme() function to adjust font sizes and styles.

Here's an updated version of your code incorporating these changes:

#To change the colors, font style, and size in your ggplot,


ggplot(data, aes(x = Treatment, y = Height, color = as.factor(Plot))) +  # Convert Plot to factor
  geom_point(size = 3) +                           # Adjust point size
  geom_smooth(method = "lm") +
  labs(
    title = "Plant Height by Treatment",
    x = "Treatment Type",
    y = "Plant Height"
  ) +
  scale_color_manual(values = c("red", "blue", "green")) +  # Customize colors for each Plot
  theme(
    plot.title = element_text(size = 16, face = "bold"),          # Title font size and style
    axis.title.x = element_text(size = 14, face = "italic"), # X-axis title
    axis.title.y = element_text(size = 14, face = "italic"),  # Y-axis title
    axis.text = element_text(size = 12),                  # Axis text size
    legend.title = element_text(size = 12),          # Legend title size
    legend.text = element_text(size = 10)            # Legend text size
  )

Linear Mixed Effects Model (LMM) Graph 
Linear Mixed Effects Model (LMM)

Figure: Effect of Treatment on Plant Height Across Plots
The graph below represents the variation in plant height across four treatment types (A, B, C, D), showing how each treatment affects the plant height across two plots.

X-axis: Treatment Type (A, B, C, D)
Y-axis: Plant Height (cm)
Color Coding:
Red = Plot 1
Blue = Plot 2

Results

Table 1: Linear Mixed Effects Model Summary for Plant Height

Fixed Effect Estimate Std. Error t-value p-value
Intercept (Treatment A) 15.30 0.098 155.08 < 0.001
Treatment B -2.88 0.138 -20.87 < 0.001
Treatment C 1.03 0.138 7.46 < 0.001
Treatment D -1.38 0.138 -10.01 < 0.001

Random Effects

Grouping Factor Variance Std. Dev.
Plot 0.0062 0.0787
Residual 0.0103 0.1016

Notes:
Treatment A serves as the reference level for the model.
Plot was used as a random effect to account for differences between Plot 1 and Plot 2.
The p-values show that all treatment effects are statistically significant (p < 0.001).

Conclusion

The Linear Mixed Effects Model (LMM) reveals the following insights regarding the effect of treatments on plant height:

Treatment A serves as a baseline with an average plant height of 15.30 cm.

Treatment B significantly reduces plant height by 2.88 cm compared to Treatment A (p < 0.001).

Treatment C enhances plant height by 1.03 cm, indicating a positive effect on growth (p < 0.001).

Treatment D results in a reduction of plant height by 1.38 cm relative to Treatment A (p < 0.001).

The variance explained by differences between plots is minimal (SD = 0.0787 cm), indicating that the treatment effects dominate the observed variation.

These results demonstrate that both Treatment B and D negatively impact plant height, while Treatment C leads to a significant increase. This information is crucial for optimizing growth conditions based on the type of treatment used.

Post a Comment

Previous Post Next Post