setwd("C:/Users/USER/OneDrive/Desktop/Data Science Resources/R studio/Ongoing projects/West Pokot")
getwd()
## [1] "C:/Users/USER/OneDrive/Desktop/Data Science Resources/R studio/Ongoing projects/West Pokot"
#A. DESCRIPTION AND SUMMARY OF WET SEASON DATA
# Import the wet season quadrat data set
library(readxl)
Quadrat_Wet <- read_excel("WP_Vegetation.xlsx", sheet = 3)
View (Quadrat_Wet)
colnames(Quadrat_Wet)
## [1] "Lifeform"   "Species"    "Chepararia" "Riwo"       "Suam"      
## [6] "Habit"
# Subsetting the grasses data for description, summarisation and analysis
Grasses_Wet <- Quadrat_Wet [Quadrat_Wet$Lifeform == "Grass",]
View(Grasses_Wet)

# 1. SPECIES DIVERSITY
# Calculating the diversity of species using the Shannon-Weiner index, a widely-used measure in ecology, implemented through the 'vegan' package in R, which facilitates comprehensive analysis of ecological communities.
library(vegan)
## Loading required package: permute
## Loading required package: lattice
## This is vegan 2.6-4
# Calculating the diversity index for grass species observed in Chepararia, Riwo, and Suam wards during the wet season.
# Exploring the diversity of grass species specifically within the Chepararia Ward
Grass_Diversity_Wet_Chep <- diversity(Grasses_Wet$Chepararia, index = "shannon")
print(Grass_Diversity_Wet_Chep)
## [1] 2.027927
# Investigating the diversity of grass species within Riwo ward
Grass_Diversity_Wet_Riwo <- diversity(Grasses_Wet$Riwo, index = "shannon")
print(Grass_Diversity_Wet_Riwo)
## [1] 2.328463
# Examining the diversity of grass species within the Suam Ward
Grass_Diversity_Wet_Suam <- diversity(Grasses_Wet$Suam, index = "shannon")
print(Grass_Diversity_Wet_Suam)
## [1] 1.800271
# Calculating the Diversity Index of Forbs Across Chepararia, Riwo, and Suam During the Wet Season.
# Subset the data for forbs from the Quadrat_Wet dataset, which contains observations from the wet season.
Forbs_Wet <- Quadrat_Wet [Quadrat_Wet$Lifeform == "Forb", ]
View(Forbs_Wet)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.1     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Forbs_Wet <- Forbs_Wet %>% select (-Habit)
print(Forbs_Wet)
## # A tibble: 32 × 5
##    Lifeform Species                 Chepararia  Riwo  Suam
##    <chr>    <chr>                        <dbl> <dbl> <dbl>
##  1 Forb     Acanthospermum hispidum          1     0    25
##  2 Forb     Achyranthes aspera               2     0     0
##  3 Forb     Ageratum conyzoides             32     5     2
##  4 Forb     Asystasia schimperi              1     0     0
##  5 Forb     Blepharis integrifolia           0    48     0
##  6 Forb     Bothriocline somalensis          2     8     0
##  7 Forb     Commelina benghalensis           7     8     0
##  8 Forb     Commicarpus stellatus            1     0     0
##  9 Forb     Conyza floribunda                3     0     0
## 10 Forb     Crabbea velutina                 1     0     0
## # … with 22 more rows
# Calculating the Diversity Index of Forbs in Chepararia ward
Forb_Diversity_Wet_Chep <- diversity(Forbs_Wet$Chepararia, index = "shannon")
print(Forb_Diversity_Wet_Chep)
## [1] 1.910521
# Calculating the Diversity Index of Forbs in Riwo ward
Forb_Diversity_Wet_Riwo <- diversity(Forbs_Wet$Riwo, index = "shannon")
print(Forb_Diversity_Wet_Riwo)
## [1] 2.276369
# Calculating the Diversity Index of Forbs in Suam Ward
Forb_Diversity_Wet_Suam <- diversity(Forbs_Wet$Suam, index = "shannon")
print(Forb_Diversity_Wet_Suam)
## [1] 1.577628
# Diversity Index of Shrubs Across Chepararia, Riwo, and Suam During the Wet Season
# Subset the data for shrubs from the Quadrat_Wet dataset, which contains observations from the wet season.
Shrubs_Wet <- Quadrat_Wet %>% 
  filter(Lifeform == "Shrub") %>% 
  select(-Habit)
View(Shrubs_Wet)

# Quantifying Shrub Diversity Index in Chepararia Ward
Shrub_Diversity_Wet_Chep <- diversity(Shrubs_Wet$Chepararia, index = "shannon")
print(Shrub_Diversity_Wet_Chep)
## [1] 2.352299
# Assessing Shrub Diversity Index in Riwo Ward
Shrub_Diversity_Wet_Riwo <- diversity(Shrubs_Wet$Riwo, index = "shannon")
print(Shrub_Diversity_Wet_Riwo)
## [1] 2.118296
# Calculating the Shrub Diversity Index in Suam Ward
Shrub_Diversity_Wet_Suam <- diversity(Shrubs_Wet$Suam, index = "shannon")
print(Shrub_Diversity_Wet_Suam)
## [1] 2.434486
# Quantifying the Tree Diversity Indexes Across Chepararia, Riwo, and Suam wards During the Wet Season
# Selecting Tree Data from the Quadrat_Wet Dataset
Trees_Wet <- Quadrat_Wet %>% 
  filter(Lifeform == "Tree") %>% 
  select(-Habit)
View(Trees_Wet)

# Computing the diversity index of trees in Chepararia Ward
Tree_Diversity_Wet_Chep <- diversity(Trees_Wet$Chepararia, index = "shannon")
print(Tree_Diversity_Wet_Chep)
## [1] 2.475307
# Determining the tree diversity index in Riwo Ward
Tree_Diversity_Wet_Riwo <- diversity(Trees_Wet$Riwo, index = "shannon")
print(Tree_Diversity_Wet_Riwo)
## [1] 2.365646
# Computing tree diversity index in Suam Ward
Tree_Diversity_Wet_Suam <- diversity(Trees_Wet$Suam, index = "shannon")
print(Tree_Diversity_Wet_Suam)
## [1] 2.148001
# Creating a data frame of the wet season diversity indexes using vectors created from the diversity indexes of each life form in each ward.
Lifeforms <- c ("Grasses", "Forb", "Shrubs", "Trees")
Diversity_Wet_Chepararia <- c (Grass_Diversity_Wet_Chep, Forb_Diversity_Wet_Chep, Shrub_Diversity_Wet_Chep, Tree_Diversity_Wet_Chep)
Diversity_Wet_Riwo <- c (Grass_Diversity_Wet_Riwo, Forb_Diversity_Wet_Riwo, Shrub_Diversity_Wet_Riwo, Tree_Diversity_Wet_Riwo)
Diversity_Wet_Suam <- c (Grass_Diversity_Wet_Suam, Forb_Diversity_Wet_Suam, Shrub_Diversity_Wet_Suam, Tree_Diversity_Wet_Suam)

Species_Diversity_Wet <- data.frame(Lifeforms, Diversity_Wet_Chepararia, Diversity_Wet_Riwo, Diversity_Wet_Suam)
print(Species_Diversity_Wet)
##   Lifeforms Diversity_Wet_Chepararia Diversity_Wet_Riwo Diversity_Wet_Suam
## 1   Grasses                 2.027927           2.328463           1.800271
## 2      Forb                 1.910521           2.276369           1.577628
## 3    Shrubs                 2.352299           2.118296           2.434486
## 4     Trees                 2.475307           2.365646           2.148001
# Renaming the dataframe's column names
colnames(Species_Diversity_Wet) <- c ("Lifeforms", "Chepararia", "Riwo", "Suam")
print(Species_Diversity_Wet)
##   Lifeforms Chepararia     Riwo     Suam
## 1   Grasses   2.027927 2.328463 1.800271
## 2      Forb   1.910521 2.276369 1.577628
## 3    Shrubs   2.352299 2.118296 2.434486
## 4     Trees   2.475307 2.365646 2.148001
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package (Tidyverse was already previously loaded onto R)
Species_Diversity_Wet_Long <- Species_Diversity_Wet %>%
  pivot_longer(cols = c("Chepararia", "Riwo", "Suam"), names_to = "Wards", values_to = "Diversity")
print(Species_Diversity_Wet_Long)
## # A tibble: 12 × 3
##    Lifeforms Wards      Diversity
##    <chr>     <chr>          <dbl>
##  1 Grasses   Chepararia      2.03
##  2 Grasses   Riwo            2.33
##  3 Grasses   Suam            1.80
##  4 Forb      Chepararia      1.91
##  5 Forb      Riwo            2.28
##  6 Forb      Suam            1.58
##  7 Shrubs    Chepararia      2.35
##  8 Shrubs    Riwo            2.12
##  9 Shrubs    Suam            2.43
## 10 Trees     Chepararia      2.48
## 11 Trees     Riwo            2.37
## 12 Trees     Suam            2.15
library(ggthemes)

ggplot(data = Species_Diversity_Wet_Long, 
       mapping = aes(x = Wards, 
                     y = Diversity, fill = Lifeforms)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Wet Season Species Diversity in Wards of West Pokot County",
       x = "Wards",
       y = "Diversity Index",
       fill = "Life Forms") +
  theme_minimal()

# ANOVA to assess variations in species diversity among the three wards"
Anova_Diversity_Wet <- aov (Diversity ~ Wards, data = Species_Diversity_Wet_Long)
summary(Anova_Diversity_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2 0.1689 0.08444   1.124  0.367
## Residuals    9 0.6763 0.07514
# 2. DENSITY OF SPECIES DURING THE WET SEASON
# Species density (Individuals/ha) = Total number of Identified Species/Total Sample Plot Area * 10,000m2. 
# The sample plot for grasses and forbs measured 0.5m*0.5m = 0.25m2, shrubs measured 5m*5m= 25m2, and trees were sampled within a 10m*10m quadrat = 100m2.
# The Quadrat_Wet dataset will be used.

# 2.1 Density of grass species across the three wards
# Density of grasses in Chepararia during the wet season
Density_Grasses_Wet_Chep <- Grasses_Wet$Chepararia/0.25 *10000
print(Density_Grasses_Wet_Chep)
##  [1] 1080000 2040000 6320000       0       0  240000   40000   40000 3720000
## [10]       0  560000 1120000  160000 1040000       0       0  240000       0
## [19]   40000  160000 1480000  240000       0       0
# Density of grasses in Riwo during the wet season
Density_Grasses_Wet_Riwo <- Grasses_Wet$Riwo/0.25*10000
print(Density_Grasses_Wet_Riwo)
##  [1]       0 1480000 5960000 1480000  240000 2440000       0       0  160000
## [10]  920000 1080000 2320000       0  360000   80000  520000       0  520000
## [19]       0       0  240000 1360000 2040000   40000
# Density of grasses in Suam during the wet season
Density_Grasses_Wet_Suam <- Grasses_Wet$Suam/0.25*10000
print(Density_Grasses_Wet_Suam)
##  [1]        0        0  1880000   440000   600000 10560000        0        0
##  [9]   120000   760000  3480000  2520000        0   120000        0  1160000
## [17]        0   360000        0        0        0   280000   640000        0
# Create a data frame of the grass species density across the three Wards (Land use systems)
Density_Grasses_Wet <- data.frame(Grasses_Wet$Species, Density_Grasses_Wet_Chep, Density_Grasses_Wet_Riwo, Density_Grasses_Wet_Suam)
print(Density_Grasses_Wet)
##         Grasses_Wet.Species Density_Grasses_Wet_Chep Density_Grasses_Wet_Riwo
## 1         Aristida adoensis                  1080000                        0
## 2     Aristida adscensionis                  2040000                  1480000
## 3     Bothriocloa insculpta                  6320000                  5960000
## 4        Brachiaria deflexa                        0                  1480000
## 5        Cenchrus setigerus                        0                   240000
## 6        Chloris pycnothrix                   240000                  2440000
## 7      Chloris roxburghiana                    40000                        0
## 8   Cymbopogon pospischilii                    40000                        0
## 9          Cynodon dactylon                  3720000                   160000
## 10         Cyperus rotundus                        0                   920000
## 11 Dactyloctenium aegyptium                   560000                  1080000
## 12       Digitaria velutina                  1120000                  2320000
## 13     Echinochloa stagnina                   160000                        0
## 14          Eleusine indica                  1040000                   360000
## 15       Eragrostis brownii                        0                    80000
## 16      Eragrostis congesta                        0                   520000
## 17       Eragrostis superba                   240000                        0
## 18      Harpachne schimperi                        0                   520000
## 19    Heteropogon contortus                    40000                        0
## 20     Hyparrhenia lintonii                   160000                        0
## 21      Melinis minutiflora                  1480000                   240000
## 22           Melinis repens                   240000                  1360000
## 23     Setaria verticillata                        0                  2040000
## 24   Sporobolus pyramidalis                        0                    40000
##    Density_Grasses_Wet_Suam
## 1                         0
## 2                         0
## 3                   1880000
## 4                    440000
## 5                    600000
## 6                  10560000
## 7                         0
## 8                         0
## 9                    120000
## 10                   760000
## 11                  3480000
## 12                  2520000
## 13                        0
## 14                   120000
## 15                        0
## 16                  1160000
## 17                        0
## 18                   360000
## 19                        0
## 20                        0
## 21                        0
## 22                   280000
## 23                   640000
## 24                        0
# Rename the column names for the Forbs density dataset
colnames(Density_Grasses_Wet) <- c ("Grass Species", "Chepararia", "Riwo", "Suam")
print(Density_Grasses_Wet)
##               Grass Species Chepararia    Riwo     Suam
## 1         Aristida adoensis    1080000       0        0
## 2     Aristida adscensionis    2040000 1480000        0
## 3     Bothriocloa insculpta    6320000 5960000  1880000
## 4        Brachiaria deflexa          0 1480000   440000
## 5        Cenchrus setigerus          0  240000   600000
## 6        Chloris pycnothrix     240000 2440000 10560000
## 7      Chloris roxburghiana      40000       0        0
## 8   Cymbopogon pospischilii      40000       0        0
## 9          Cynodon dactylon    3720000  160000   120000
## 10         Cyperus rotundus          0  920000   760000
## 11 Dactyloctenium aegyptium     560000 1080000  3480000
## 12       Digitaria velutina    1120000 2320000  2520000
## 13     Echinochloa stagnina     160000       0        0
## 14          Eleusine indica    1040000  360000   120000
## 15       Eragrostis brownii          0   80000        0
## 16      Eragrostis congesta          0  520000  1160000
## 17       Eragrostis superba     240000       0        0
## 18      Harpachne schimperi          0  520000   360000
## 19    Heteropogon contortus      40000       0        0
## 20     Hyparrhenia lintonii     160000       0        0
## 21      Melinis minutiflora    1480000  240000        0
## 22           Melinis repens     240000 1360000   280000
## 23     Setaria verticillata          0 2040000   640000
## 24   Sporobolus pyramidalis          0   40000        0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package (Tidyverse was already previously loaded onto R)
Density_Grasses_Wet_Long <- Density_Grasses_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Grasses_Wet_Long)
## # A tibble: 72 × 3
##    `Grass Species`       Wards      Density
##    <chr>                 <chr>        <dbl>
##  1 Aristida adoensis     Chepararia 1080000
##  2 Aristida adoensis     Riwo             0
##  3 Aristida adoensis     Suam             0
##  4 Aristida adscensionis Chepararia 2040000
##  5 Aristida adscensionis Riwo       1480000
##  6 Aristida adscensionis Suam             0
##  7 Bothriocloa insculpta Chepararia 6320000
##  8 Bothriocloa insculpta Riwo       5960000
##  9 Bothriocloa insculpta Suam       1880000
## 10 Brachiaria deflexa    Chepararia       0
## # … with 62 more rows
# Anova analysis assess the impact of land use on grass species density during the wet season
Anova_Density_Grasses_Wet <- aov (Density ~ Wards, data = Density_Grasses_Wet_Long)
summary (Anova_Density_Grasses_Wet)
##             Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards        2 4.108e+11 2.054e+11   0.069  0.934
## Residuals   69 2.059e+14 2.984e+12
# Density of Forb species across the three wards
# Density of Forbs in Chepareria during the wet season
Density_Forbs_Wet_Chep <- Forbs_Wet$Chepararia/0.25 *10000
print(Density_Forbs_Wet_Chep)
##  [1]   40000   80000 1280000   40000       0   80000  280000   40000  120000
## [10]   40000       0   40000       0  200000   40000       0       0       0
## [19]       0   40000   40000 3400000       0  760000  280000   40000  160000
## [28]   40000       0  320000       0       0
# Density of Forbs in Riwo during the wet season
Density_Forbs_Wet_Riwo <- Forbs_Wet$Riwo/0.25 *10000
print(Density_Forbs_Wet_Riwo)
##  [1]       0       0  200000       0 1920000  320000  320000       0       0
## [10]       0       0       0  400000   80000       0  240000   80000   40000
## [19]  480000  120000       0   80000 1000000  640000 1400000       0  200000
## [28]       0       0 2960000   40000   80000
# Density of Forbs in Suam during the wet season
Density_Forbs_Wet_Suam <- Forbs_Wet$Suam/0.25 *10000
print(Density_Forbs_Wet_Suam)
##  [1] 1000000       0   80000       0       0       0       0       0       0
## [10]       0   40000       0  440000  120000       0       0       0       0
## [19]       0       0  760000 5800000 1960000  240000  120000       0   40000
## [28]       0  120000       0       0  280000
# Create a data frame of the Forb species density across the three Wards (Land use systems)
Density_Forbs_Wet <- data.frame(Forbs_Wet$Species, Density_Forbs_Wet_Chep, Density_Forbs_Wet_Riwo, Density_Forbs_Wet_Suam)
print(Density_Forbs_Wet)
##           Forbs_Wet.Species Density_Forbs_Wet_Chep Density_Forbs_Wet_Riwo
## 1   Acanthospermum hispidum                  40000                      0
## 2        Achyranthes aspera                  80000                      0
## 3       Ageratum conyzoides                1280000                 200000
## 4       Asystasia schimperi                  40000                      0
## 5    Blepharis integrifolia                      0                1920000
## 6   Bothriocline somalensis                  80000                 320000
## 7    Commelina benghalensis                 280000                 320000
## 8     Commicarpus stellatus                  40000                      0
## 9         Conyza floribunda                 120000                      0
## 10         Crabbea velutina                  40000                      0
## 11      Cyphostemma serpens                      0                      0
## 12        Datura stramonium                  40000                      0
## 13      Erlangea cordifolia                      0                 400000
## 14          Euphorbia hirta                 200000                  80000
## 15      Euphorbia prostrata                  40000                      0
## 16     Evolvulus alsinoides                      0                 240000
## 17     Galinsoga parviflora                      0                  80000
## 18  Heliotropium somalensis                      0                  40000
## 19  Justicia declipteroides                      0                 480000
## 20     Kalanchoe densiflora                  40000                 120000
## 21     Kalanchoe lanceolata                  40000                      0
## 22        Leonotis mollisma                3400000                  80000
## 23 Peristrophe bicalyculata                      0                1000000
## 24   Richardia brasiliensis                 760000                 640000
## 25           Ruellia patula                 280000                1400000
## 26            Sonchus asper                  40000                      0
## 27          Targetes minuta                 160000                 200000
## 28   Trichodesma zeylanicum                  40000                      0
## 29        Tridax procumbens                      0                      0
## 30    Trifolium semipilosum                 320000                2960000
## 31        Zornia reticulata                      0                  40000
## 32            Zornia setosa                      0                  80000
##    Density_Forbs_Wet_Suam
## 1                 1000000
## 2                       0
## 3                   80000
## 4                       0
## 5                       0
## 6                       0
## 7                       0
## 8                       0
## 9                       0
## 10                      0
## 11                  40000
## 12                      0
## 13                 440000
## 14                 120000
## 15                      0
## 16                      0
## 17                      0
## 18                      0
## 19                      0
## 20                      0
## 21                 760000
## 22                5800000
## 23                1960000
## 24                 240000
## 25                 120000
## 26                      0
## 27                  40000
## 28                      0
## 29                 120000
## 30                      0
## 31                      0
## 32                 280000
# Rename the column names for the Forbs density dataset
colnames(Density_Forbs_Wet) <- c ("Forb Species", "Chepararia", "Riwo", "Suam")
print(Density_Forbs_Wet)
##                Forb Species Chepararia    Riwo    Suam
## 1   Acanthospermum hispidum      40000       0 1000000
## 2        Achyranthes aspera      80000       0       0
## 3       Ageratum conyzoides    1280000  200000   80000
## 4       Asystasia schimperi      40000       0       0
## 5    Blepharis integrifolia          0 1920000       0
## 6   Bothriocline somalensis      80000  320000       0
## 7    Commelina benghalensis     280000  320000       0
## 8     Commicarpus stellatus      40000       0       0
## 9         Conyza floribunda     120000       0       0
## 10         Crabbea velutina      40000       0       0
## 11      Cyphostemma serpens          0       0   40000
## 12        Datura stramonium      40000       0       0
## 13      Erlangea cordifolia          0  400000  440000
## 14          Euphorbia hirta     200000   80000  120000
## 15      Euphorbia prostrata      40000       0       0
## 16     Evolvulus alsinoides          0  240000       0
## 17     Galinsoga parviflora          0   80000       0
## 18  Heliotropium somalensis          0   40000       0
## 19  Justicia declipteroides          0  480000       0
## 20     Kalanchoe densiflora      40000  120000       0
## 21     Kalanchoe lanceolata      40000       0  760000
## 22        Leonotis mollisma    3400000   80000 5800000
## 23 Peristrophe bicalyculata          0 1000000 1960000
## 24   Richardia brasiliensis     760000  640000  240000
## 25           Ruellia patula     280000 1400000  120000
## 26            Sonchus asper      40000       0       0
## 27          Targetes minuta     160000  200000   40000
## 28   Trichodesma zeylanicum      40000       0       0
## 29        Tridax procumbens          0       0  120000
## 30    Trifolium semipilosum     320000 2960000       0
## 31        Zornia reticulata          0   40000       0
## 32            Zornia setosa          0   80000  280000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package (Tidyverse was already previously loaded onto R)
Density_Forbs_Wet_Long <- Density_Forbs_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Forbs_Wet_Long)
## # A tibble: 96 × 3
##    `Forb Species`          Wards      Density
##    <chr>                   <chr>        <dbl>
##  1 Acanthospermum hispidum Chepararia   40000
##  2 Acanthospermum hispidum Riwo             0
##  3 Acanthospermum hispidum Suam       1000000
##  4 Achyranthes aspera      Chepararia   80000
##  5 Achyranthes aspera      Riwo             0
##  6 Achyranthes aspera      Suam             0
##  7 Ageratum conyzoides     Chepararia 1280000
##  8 Ageratum conyzoides     Riwo        200000
##  9 Ageratum conyzoides     Suam         80000
## 10 Asystasia schimperi     Chepararia   40000
## # … with 86 more rows
# Anova analysis assess the impact of land use on grass species density during the wet season
Anova_Density_Forbs_Wet <- aov (Density ~ Wards, data = Density_Forbs_Wet_Long)
summary (Anova_Density_Forbs_Wet)
##             Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards        2 2.490e+11 1.245e+11   0.189  0.828
## Residuals   93 6.119e+13 6.580e+11
# Density of Shrub Species in the three wards
# Density of Shrubs in Chepareria during the wet season
Density_Shrubs_Wet_Chep <- Shrubs_Wet$Chepararia/25 *10000
print(Density_Shrubs_Wet_Chep)
##  [1]  5200   800   400     0  1600   400   400     0  3200   400  2000  5600
## [13]     0     0   400     0     0     0     0  2800     0  3200   400  1200
## [25] 26000   800     0 16400  2800   400  2400  7200   400  1600  7600 48800
## [37]  2800   400   800
# Density of Shrubs in Riwo during the wet season
Density_Shrubs_Wet_Riwo <- Shrubs_Wet$Riwo/25 *10000
print(Density_Shrubs_Wet_Riwo)
##  [1]  21600      0   6000    400      0      0      0      0      0    800
## [11]   2000   2800  17200    400    800    400    400      0   2800   1200
## [21]   8800 130000      0  14400      0      0    400   5600   3600      0
## [31]   1200   1200   9200  10000  32800  30000      0      0    400
# Density of Shrubs in Suam during the wet season
Density_Shrubs_Wet_Suam <- Shrubs_Wet$Suam/25 *10000
print(Density_Shrubs_Wet_Suam)
##  [1]  16000   3200  12800   2000      0      0      0   1200  22800    800
## [11]      0  31600    400      0      0      0      0   2400   2000    400
## [21]      0  58000      0  10000  13200      0   3200  17200   2400  72400
## [31]      0  66800 102400      0  10400  34800      0      0      0
# Create a data frame of the shrub species density across the three Wards (Land use systems)
Density_Shrubs_Wet <- data.frame(Shrubs_Wet$Species , Density_Shrubs_Wet_Chep, Density_Shrubs_Wet_Riwo, Density_Shrubs_Wet_Suam)
print(Density_Shrubs_Wet)
##          Shrubs_Wet.Species Density_Shrubs_Wet_Chep Density_Shrubs_Wet_Riwo
## 1      Abutilon mauritianum                    5200                   21600
## 2         Acacia brevispica                     800                       0
## 3        Acalypha fruticosa                     400                    6000
## 4        Acalypha neptunica                       0                     400
## 5        Achyranthes aspera                    1600                       0
## 6            Agave sisalana                     400                       0
## 7                 Aloe vera                     400                       0
## 8      Barleria acanthoides                       0                       0
## 9        Barleria prionitis                    3200                       0
## 10    Capparis fascicularis                     400                     800
## 11         Carissa spinarum                    2000                    2000
## 12      Cissus rotundifolia                    5600                    2800
## 13     Combretum hereroense                       0                   17200
## 14    Dichrostachys cinerea                       0                     400
## 15         Euclea divinorum                     400                     800
## 16      Euphorbia gossypina                       0                     400
## 17        Flacourtia indica                       0                     400
## 18             Grewia tenax                       0                       0
## 19       Grewia trichocarpa                       0                    2800
## 20           Grewia villosa                    2800                    1200
## 21    Harrisonia abyssinica                       0                    8800
## 22  Hypoestes verticillaris                    3200                  130000
## 23       Indigofera arrecta                     400                       0
## 24         Ipomea kituensis                    1200                   14400
## 25           Lantana camara                   26000                       0
## 26          Lippia javanica                     800                       0
## 27    Maytenus heterophylla                       0                     400
## 28             Ocimum suave                   16400                    5600
## 29 Ormocarpum trichorcarpum                    2800                    3600
## 30  Sansevieria ehrenbergii                     400                       0
## 31       Searsia natalensis                    2400                    1200
## 32        Senna obtusifolia                    7200                    1200
## 33       Senna occidentalis                     400                    9200
## 34          Senna singueana                    1600                   10000
## 35          Sida cuneifolia                    7600                   32800
## 36          Solanum incanum                   48800                   30000
## 37         Tephrosa villosa                    2800                       0
## 38       Withania somnifera                     400                       0
## 39        Ximenia americana                     800                     400
##    Density_Shrubs_Wet_Suam
## 1                    16000
## 2                     3200
## 3                    12800
## 4                     2000
## 5                        0
## 6                        0
## 7                        0
## 8                     1200
## 9                    22800
## 10                     800
## 11                       0
## 12                   31600
## 13                     400
## 14                       0
## 15                       0
## 16                       0
## 17                       0
## 18                    2400
## 19                    2000
## 20                     400
## 21                       0
## 22                   58000
## 23                       0
## 24                   10000
## 25                   13200
## 26                       0
## 27                    3200
## 28                   17200
## 29                    2400
## 30                   72400
## 31                       0
## 32                   66800
## 33                  102400
## 34                       0
## 35                   10400
## 36                   34800
## 37                       0
## 38                       0
## 39                       0
# Rename the column names for the Shrubs density dataset
colnames(Density_Shrubs_Wet) <- c ("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Density_Shrubs_Wet)
##               Shrub Species Chepararia   Riwo   Suam
## 1      Abutilon mauritianum       5200  21600  16000
## 2         Acacia brevispica        800      0   3200
## 3        Acalypha fruticosa        400   6000  12800
## 4        Acalypha neptunica          0    400   2000
## 5        Achyranthes aspera       1600      0      0
## 6            Agave sisalana        400      0      0
## 7                 Aloe vera        400      0      0
## 8      Barleria acanthoides          0      0   1200
## 9        Barleria prionitis       3200      0  22800
## 10    Capparis fascicularis        400    800    800
## 11         Carissa spinarum       2000   2000      0
## 12      Cissus rotundifolia       5600   2800  31600
## 13     Combretum hereroense          0  17200    400
## 14    Dichrostachys cinerea          0    400      0
## 15         Euclea divinorum        400    800      0
## 16      Euphorbia gossypina          0    400      0
## 17        Flacourtia indica          0    400      0
## 18             Grewia tenax          0      0   2400
## 19       Grewia trichocarpa          0   2800   2000
## 20           Grewia villosa       2800   1200    400
## 21    Harrisonia abyssinica          0   8800      0
## 22  Hypoestes verticillaris       3200 130000  58000
## 23       Indigofera arrecta        400      0      0
## 24         Ipomea kituensis       1200  14400  10000
## 25           Lantana camara      26000      0  13200
## 26          Lippia javanica        800      0      0
## 27    Maytenus heterophylla          0    400   3200
## 28             Ocimum suave      16400   5600  17200
## 29 Ormocarpum trichorcarpum       2800   3600   2400
## 30  Sansevieria ehrenbergii        400      0  72400
## 31       Searsia natalensis       2400   1200      0
## 32        Senna obtusifolia       7200   1200  66800
## 33       Senna occidentalis        400   9200 102400
## 34          Senna singueana       1600  10000      0
## 35          Sida cuneifolia       7600  32800  10400
## 36          Solanum incanum      48800  30000  34800
## 37         Tephrosa villosa       2800      0      0
## 38       Withania somnifera        400      0      0
## 39        Ximenia americana        800    400      0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Density_Shrubs_Wet_Long <- Density_Shrubs_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Shrubs_Wet_Long)
## # A tibble: 117 × 3
##    `Shrub Species`      Wards      Density
##    <chr>                <chr>        <dbl>
##  1 Abutilon mauritianum Chepararia    5200
##  2 Abutilon mauritianum Riwo         21600
##  3 Abutilon mauritianum Suam         16000
##  4 Acacia brevispica    Chepararia     800
##  5 Acacia brevispica    Riwo             0
##  6 Acacia brevispica    Suam          3200
##  7 Acalypha fruticosa   Chepararia     400
##  8 Acalypha fruticosa   Riwo          6000
##  9 Acalypha fruticosa   Suam         12800
## 10 Acalypha neptunica   Chepararia       0
## # … with 107 more rows
# Anova analysis assess the impact of land use on Shrub species density during the wet season
Anova_Density_Shrubs_Wet <- aov (Density ~ Wards, data = Density_Shrubs_Wet_Long)
summary (Anova_Density_Shrubs_Wet)
##              Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards         2 1.485e+09 742256410   2.005  0.139
## Residuals   114 4.220e+10 370212937
# Density of Tree Species in the three wards
# Density of Trees in Chepareria during the wet season
Density_Trees_Wet_Chep <- Trees_Wet$Chepararia/100 *10000
print(Density_Trees_Wet_Chep)
##  [1]  600 4300    0 1600 4100 2100  800 1200    0  400  200  300    0  200    0
## [16]    0  500  700    0 2200    0    0  200  300    0  100    0    0  300    0
## [31]    0    0    0    0  100  300    0  300
#Density of Trees in Riwo during the wet season
Density_Trees_Wet_Riwo <- Trees_Wet$Riwo/100 *10000
print(Density_Trees_Wet_Riwo)
##  [1]    0 1200    0  200 2300 1500    0    0    0 4600  100 4100    0    0    0
## [16]  200  100    0    0  600  200  100    0 3200  900    0  100  300    0  100
## [31]  300    0  100  600  400  400 7600  200
# Density of Shrubs in Suam during the wet season
Density_Trees_Wet_Suam <- Trees_Wet$Suam/100 *10000
print(Density_Trees_Wet_Suam)
##  [1]     0   100  4600   300 11400  2900  1400     0   200   500   900  2400
## [13]   200   300   100     0   300     0   300   200   400     0     0   300
## [25]   200     0     0     0     0     0     0   400   300     0   100   600
## [37]   200     0
# Create a data frame of the Tree species density across the three Wards (Land use systems)
Density_Trees_Wet <- data.frame(Trees_Wet$Species,Density_Trees_Wet_Chep, Density_Trees_Wet_Riwo, Density_Trees_Wet_Suam)
print(Density_Trees_Wet)
##            Trees_Wet.Species Density_Trees_Wet_Chep Density_Trees_Wet_Riwo
## 1       Acacia drepanolobium                    600                      0
## 2           Acacia gerrardii                   4300                   1200
## 3              Acacia hockii                      0                      0
## 4           Acacia mellifera                   1600                    200
## 5            Acacia nilotica                   4100                   2300
## 6             Acacia senegal                   2100                   1500
## 7            Acacia tortilis                    800                      0
## 8  Acokanthera oppositifolia                   1200                      0
## 9             Adenium obesum                      0                      0
## 10             Albizia amara                    400                   4600
## 11     Albizia anthelmintica                    200                    100
## 12      Balanites aegyptiaca                    300                   4100
## 13    Balanites pedicellaris                      0                      0
## 14           Boscia coriacea                    200                      0
## 15          Canthium glaucum                      0                      0
## 16           Combretum molle                      0                    200
## 17       Commiphora africana                    500                    100
## 18      Croton macrostachyus                    700                      0
## 19          Cussonia spicata                      0                      0
## 20     Euphorbia candelabrum                   2200                    600
## 21         Faidherbia albida                      0                    200
## 22          Ficus thonningii                      0                    100
## 23         Gravillea robusta                    200                      0
## 24            Grewia bicolor                    300                   3200
## 25              Lannea fulva                      0                    900
## 26             Olea africana                    100                      0
## 27    Piliostigma thonningii                      0                    100
## 28        Sclerocarya birrea                      0                    300
## 29           Sesbania sesban                    300                      0
## 30      Synadenium compactum                      0                    100
## 31         Tamarindus indica                      0                    300
## 32            Teclea nobilis                      0                      0
## 33        Terminalia brownii                      0                    100
## 34     Terminalia prunioides                      0                    600
## 35        Vangueria infausta                    100                    400
## 36     Zanthoxylum chalybeum                    300                    400
## 37       Ziziphus abyssinica                      0                   7600
## 38        Ziziphus mucronata                    300                    200
##    Density_Trees_Wet_Suam
## 1                       0
## 2                     100
## 3                    4600
## 4                     300
## 5                   11400
## 6                    2900
## 7                    1400
## 8                       0
## 9                     200
## 10                    500
## 11                    900
## 12                   2400
## 13                    200
## 14                    300
## 15                    100
## 16                      0
## 17                    300
## 18                      0
## 19                    300
## 20                    200
## 21                    400
## 22                      0
## 23                      0
## 24                    300
## 25                    200
## 26                      0
## 27                      0
## 28                      0
## 29                      0
## 30                      0
## 31                      0
## 32                    400
## 33                    300
## 34                      0
## 35                    100
## 36                    600
## 37                    200
## 38                      0
# Rename the column names for the Trees density dataset
colnames(Density_Trees_Wet) <- c ("Tree Species", "Chepararia", "Riwo", "Suam")
print(Density_Trees_Wet)
##                 Tree Species Chepararia Riwo  Suam
## 1       Acacia drepanolobium        600    0     0
## 2           Acacia gerrardii       4300 1200   100
## 3              Acacia hockii          0    0  4600
## 4           Acacia mellifera       1600  200   300
## 5            Acacia nilotica       4100 2300 11400
## 6             Acacia senegal       2100 1500  2900
## 7            Acacia tortilis        800    0  1400
## 8  Acokanthera oppositifolia       1200    0     0
## 9             Adenium obesum          0    0   200
## 10             Albizia amara        400 4600   500
## 11     Albizia anthelmintica        200  100   900
## 12      Balanites aegyptiaca        300 4100  2400
## 13    Balanites pedicellaris          0    0   200
## 14           Boscia coriacea        200    0   300
## 15          Canthium glaucum          0    0   100
## 16           Combretum molle          0  200     0
## 17       Commiphora africana        500  100   300
## 18      Croton macrostachyus        700    0     0
## 19          Cussonia spicata          0    0   300
## 20     Euphorbia candelabrum       2200  600   200
## 21         Faidherbia albida          0  200   400
## 22          Ficus thonningii          0  100     0
## 23         Gravillea robusta        200    0     0
## 24            Grewia bicolor        300 3200   300
## 25              Lannea fulva          0  900   200
## 26             Olea africana        100    0     0
## 27    Piliostigma thonningii          0  100     0
## 28        Sclerocarya birrea          0  300     0
## 29           Sesbania sesban        300    0     0
## 30      Synadenium compactum          0  100     0
## 31         Tamarindus indica          0  300     0
## 32            Teclea nobilis          0    0   400
## 33        Terminalia brownii          0  100   300
## 34     Terminalia prunioides          0  600     0
## 35        Vangueria infausta        100  400   100
## 36     Zanthoxylum chalybeum        300  400   600
## 37       Ziziphus abyssinica          0 7600   200
## 38        Ziziphus mucronata        300  200     0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Density_Trees_Wet_Long <- Density_Trees_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Trees_Wet_Long)
## # A tibble: 114 × 3
##    `Tree Species`       Wards      Density
##    <chr>                <chr>        <dbl>
##  1 Acacia drepanolobium Chepararia     600
##  2 Acacia drepanolobium Riwo             0
##  3 Acacia drepanolobium Suam             0
##  4 Acacia gerrardii     Chepararia    4300
##  5 Acacia gerrardii     Riwo          1200
##  6 Acacia gerrardii     Suam           100
##  7 Acacia hockii        Chepararia       0
##  8 Acacia hockii        Riwo             0
##  9 Acacia hockii        Suam          4600
## 10 Acacia mellifera     Chepararia    1600
## # … with 104 more rows
# Anova analysis assess the impact of land use on Shrub species density during the wet season
Anova_Density_Trees_Wet <- aov (Density ~ Wards, data = Density_Trees_Wet_Long)
summary (Anova_Density_Trees_Wet)
##              Df    Sum Sq Mean Sq F value Pr(>F)
## Wards         2   1188070  594035   0.234  0.792
## Residuals   111 282343158 2543632
#3. SPECIES COMPOSITION
# Species Count
print(Quadrat_Wet)
## # A tibble: 133 × 6
##    Lifeform Species                 Chepararia  Riwo  Suam Habit    
##    <chr>    <chr>                        <dbl> <dbl> <dbl> <chr>    
##  1 Grass    Aristida adoensis               27     0     0 Increaser
##  2 Grass    Aristida adscensionis           51    37     0 Increaser
##  3 Grass    Bothriocloa insculpta          158   149    47 Increaser
##  4 Grass    Brachiaria deflexa               0    37    11 Increaser
##  5 Grass    Cenchrus setigerus               0     6    15 Decreaser
##  6 Grass    Chloris pycnothrix               6    61   264 Increaser
##  7 Grass    Chloris roxburghiana             1     0     0 Decreaser
##  8 Grass    Cymbopogon pospischilii          1     0     0 Decreaser
##  9 Grass    Cynodon dactylon                93     4     3 Decreaser
## 10 Grass    Cyperus rotundus                 0    23    19 Increaser
## # … with 123 more rows
Quadrat_Wet %>% count(Lifeform == "Grass")
## # A tibble: 2 × 2
##   `Lifeform == "Grass"`     n
##   <lgl>                 <int>
## 1 FALSE                   109
## 2 TRUE                     24
Quadrat_Wet %>% count(Lifeform == "Forb")
## # A tibble: 2 × 2
##   `Lifeform == "Forb"`     n
##   <lgl>                <int>
## 1 FALSE                  101
## 2 TRUE                    32
Quadrat_Wet %>% count(Lifeform == "Shrub")
## # A tibble: 2 × 2
##   `Lifeform == "Shrub"`     n
##   <lgl>                 <int>
## 1 FALSE                    94
## 2 TRUE                     39
Quadrat_Wet %>% count(Lifeform == "Tree")
## # A tibble: 2 × 2
##   `Lifeform == "Tree"`     n
##   <lgl>                <int>
## 1 FALSE                   95
## 2 TRUE                    38
Lifeforms <- c ("Grasses", "Forbs", "Shrubs", "Trees")
Total_Count_Wet <- c(24,32,36,38)
Grasses_Wet %>% count(Grasses_Wet$Habit == "Increaser")
## # A tibble: 2 × 2
##   `Grasses_Wet$Habit == "Increaser"`     n
##   <lgl>                              <int>
## 1 FALSE                                  9
## 2 TRUE                                  15
Grasses_Wet %>% count(Grasses_Wet$Habit == "Decreaser")
## # A tibble: 2 × 2
##   `Grasses_Wet$Habit == "Decreaser"`     n
##   <lgl>                              <int>
## 1 FALSE                                 15
## 2 TRUE                                   9
Grasses_Habit <- c ("Increasers", "Decreasers")
Habits_Count_Wet <- c (15,9)
Grasses_Habit_Count_Wet <- data.frame(Grasses_Habit, Habits_Count_Wet)
print(Grasses_Habit_Count_Wet)
##   Grasses_Habit Habits_Count_Wet
## 1    Increasers               15
## 2    Decreasers                9
Increasers_Wet <- (15/(15+9))*100
print(Increasers_Wet)
## [1] 62.5
Decreasers_Wet <- (9/(15+9)*100)
print(Decreasers_Wet)
## [1] 37.5
percent_Habit_Count_Wet <- c(Increasers_Wet, Decreasers_Wet)
Grasses_Habit_Percent_Wet <- data.frame(Grasses_Habit_Count_Wet, percent_Habit_Count_Wet)
print(Grasses_Habit_Percent_Wet)
##   Grasses_Habit Habits_Count_Wet percent_Habit_Count_Wet
## 1    Increasers               15                    62.5
## 2    Decreasers                9                    37.5
# Percent Grass Species Composition
# Percent Grass species Composition in Chepararia
sum(Grasses_Wet$Chepararia)
## [1] 463
Composition_Grasses_Wet_Chep <- (Grasses_Wet$Chepararia/463)*100
print(Composition_Grasses_Wet_Chep)
##  [1]  5.8315335 11.0151188 34.1252700  0.0000000  0.0000000  1.2958963
##  [7]  0.2159827  0.2159827 20.0863931  0.0000000  3.0237581  6.0475162
## [13]  0.8639309  5.6155508  0.0000000  0.0000000  1.2958963  0.0000000
## [19]  0.2159827  0.8639309  7.9913607  1.2958963  0.0000000  0.0000000
sum(Composition_Grasses_Wet_Chep)
## [1] 100
#Percent Grass species Composition in Riwo
sum(Grasses_Wet$Riwo)
## [1] 531
Composition_Grasses_Wet_Riwo <- (Grasses_Wet$Riwo/531)*100
print(Composition_Grasses_Wet_Riwo)
##  [1]  0.0000000  6.9679849 28.0602637  6.9679849  1.1299435 11.4877589
##  [7]  0.0000000  0.0000000  0.7532957  4.3314501  5.0847458 10.9227872
## [13]  0.0000000  1.6949153  0.3766478  2.4482109  0.0000000  2.4482109
## [19]  0.0000000  0.0000000  1.1299435  6.4030132  9.6045198  0.1883239
sum(Composition_Grasses_Wet_Riwo)
## [1] 100
#Percent Grass species Composition in Suam
sum(Grasses_Wet$Suam)
## [1] 573
Composition_Grasses_Wet_Suam <- (Grasses_Wet$Suam/573)*100
print(Composition_Grasses_Wet_Suam)
##  [1]  0.0000000  0.0000000  8.2024433  1.9197208  2.6178010 46.0732984
##  [7]  0.0000000  0.0000000  0.5235602  3.3158813 15.1832461 10.9947644
## [13]  0.0000000  0.5235602  0.0000000  5.0610820  0.0000000  1.5706806
## [19]  0.0000000  0.0000000  0.0000000  1.2216405  2.7923211  0.0000000
sum(Composition_Grasses_Wet_Suam)
## [1] 100
# Create a data frame of the Grass species composition percent across the three Wards (Land use systems)
Composition_Grasses_Wet <- data.frame(Grasses_Wet$Species, Composition_Grasses_Wet_Chep, Composition_Grasses_Wet_Riwo, Composition_Grasses_Wet_Suam)
print(Composition_Grasses_Wet)
##         Grasses_Wet.Species Composition_Grasses_Wet_Chep
## 1         Aristida adoensis                    5.8315335
## 2     Aristida adscensionis                   11.0151188
## 3     Bothriocloa insculpta                   34.1252700
## 4        Brachiaria deflexa                    0.0000000
## 5        Cenchrus setigerus                    0.0000000
## 6        Chloris pycnothrix                    1.2958963
## 7      Chloris roxburghiana                    0.2159827
## 8   Cymbopogon pospischilii                    0.2159827
## 9          Cynodon dactylon                   20.0863931
## 10         Cyperus rotundus                    0.0000000
## 11 Dactyloctenium aegyptium                    3.0237581
## 12       Digitaria velutina                    6.0475162
## 13     Echinochloa stagnina                    0.8639309
## 14          Eleusine indica                    5.6155508
## 15       Eragrostis brownii                    0.0000000
## 16      Eragrostis congesta                    0.0000000
## 17       Eragrostis superba                    1.2958963
## 18      Harpachne schimperi                    0.0000000
## 19    Heteropogon contortus                    0.2159827
## 20     Hyparrhenia lintonii                    0.8639309
## 21      Melinis minutiflora                    7.9913607
## 22           Melinis repens                    1.2958963
## 23     Setaria verticillata                    0.0000000
## 24   Sporobolus pyramidalis                    0.0000000
##    Composition_Grasses_Wet_Riwo Composition_Grasses_Wet_Suam
## 1                     0.0000000                    0.0000000
## 2                     6.9679849                    0.0000000
## 3                    28.0602637                    8.2024433
## 4                     6.9679849                    1.9197208
## 5                     1.1299435                    2.6178010
## 6                    11.4877589                   46.0732984
## 7                     0.0000000                    0.0000000
## 8                     0.0000000                    0.0000000
## 9                     0.7532957                    0.5235602
## 10                    4.3314501                    3.3158813
## 11                    5.0847458                   15.1832461
## 12                   10.9227872                   10.9947644
## 13                    0.0000000                    0.0000000
## 14                    1.6949153                    0.5235602
## 15                    0.3766478                    0.0000000
## 16                    2.4482109                    5.0610820
## 17                    0.0000000                    0.0000000
## 18                    2.4482109                    1.5706806
## 19                    0.0000000                    0.0000000
## 20                    0.0000000                    0.0000000
## 21                    1.1299435                    0.0000000
## 22                    6.4030132                    1.2216405
## 23                    9.6045198                    2.7923211
## 24                    0.1883239                    0.0000000
# Rename the column names for the Composition_Grasses_Wet newly created dataframe
colnames(Composition_Grasses_Wet) <- c ("Grass Species", "Chepararia", "Riwo", "Suam")
print(Composition_Grasses_Wet)
##               Grass Species Chepararia       Riwo       Suam
## 1         Aristida adoensis  5.8315335  0.0000000  0.0000000
## 2     Aristida adscensionis 11.0151188  6.9679849  0.0000000
## 3     Bothriocloa insculpta 34.1252700 28.0602637  8.2024433
## 4        Brachiaria deflexa  0.0000000  6.9679849  1.9197208
## 5        Cenchrus setigerus  0.0000000  1.1299435  2.6178010
## 6        Chloris pycnothrix  1.2958963 11.4877589 46.0732984
## 7      Chloris roxburghiana  0.2159827  0.0000000  0.0000000
## 8   Cymbopogon pospischilii  0.2159827  0.0000000  0.0000000
## 9          Cynodon dactylon 20.0863931  0.7532957  0.5235602
## 10         Cyperus rotundus  0.0000000  4.3314501  3.3158813
## 11 Dactyloctenium aegyptium  3.0237581  5.0847458 15.1832461
## 12       Digitaria velutina  6.0475162 10.9227872 10.9947644
## 13     Echinochloa stagnina  0.8639309  0.0000000  0.0000000
## 14          Eleusine indica  5.6155508  1.6949153  0.5235602
## 15       Eragrostis brownii  0.0000000  0.3766478  0.0000000
## 16      Eragrostis congesta  0.0000000  2.4482109  5.0610820
## 17       Eragrostis superba  1.2958963  0.0000000  0.0000000
## 18      Harpachne schimperi  0.0000000  2.4482109  1.5706806
## 19    Heteropogon contortus  0.2159827  0.0000000  0.0000000
## 20     Hyparrhenia lintonii  0.8639309  0.0000000  0.0000000
## 21      Melinis minutiflora  7.9913607  1.1299435  0.0000000
## 22           Melinis repens  1.2958963  6.4030132  1.2216405
## 23     Setaria verticillata  0.0000000  9.6045198  2.7923211
## 24   Sporobolus pyramidalis  0.0000000  0.1883239  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Grasses_Wet_Long <- Composition_Grasses_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Grasses_Wet_Long)
## # A tibble: 72 × 3
##    `Grass Species`       Wards      Composition
##    <chr>                 <chr>            <dbl>
##  1 Aristida adoensis     Chepararia        5.83
##  2 Aristida adoensis     Riwo              0   
##  3 Aristida adoensis     Suam              0   
##  4 Aristida adscensionis Chepararia       11.0 
##  5 Aristida adscensionis Riwo              6.97
##  6 Aristida adscensionis Suam              0   
##  7 Bothriocloa insculpta Chepararia       34.1 
##  8 Bothriocloa insculpta Riwo             28.1 
##  9 Bothriocloa insculpta Suam              8.20
## 10 Brachiaria deflexa    Chepararia        0   
## # … with 62 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Composition_Grasses_Wet <- aov (Composition ~ Wards, data = Composition_Grasses_Wet_Long)
summary (Anova_Composition_Grasses_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0       0       0      1
## Residuals   69   4554      66
#Percent Forb Species Composition
#Percent Forbs composition in Chepararia
sum(Forbs_Wet$Chepararia)
## [1] 184
Composition_Forbs_Wet_Chep <- (Forbs_Wet$Chepararia/184)*100
print(Composition_Forbs_Wet_Chep)
##  [1]  0.5434783  1.0869565 17.3913043  0.5434783  0.0000000  1.0869565
##  [7]  3.8043478  0.5434783  1.6304348  0.5434783  0.0000000  0.5434783
## [13]  0.0000000  2.7173913  0.5434783  0.0000000  0.0000000  0.0000000
## [19]  0.0000000  0.5434783  0.5434783 46.1956522  0.0000000 10.3260870
## [25]  3.8043478  0.5434783  2.1739130  0.5434783  0.0000000  4.3478261
## [31]  0.0000000  0.0000000
sum(Composition_Forbs_Wet_Chep)
## [1] 100
#Percent Forbs Composition in Riwo
sum(Forbs_Wet$Riwo)
## [1] 265
Composition_Forbs_Wet_Riwo <- (Forbs_Wet$Riwo/265)*100
print(Composition_Forbs_Wet_Riwo)
##  [1]  0.0000000  0.0000000  1.8867925  0.0000000 18.1132075  3.0188679
##  [7]  3.0188679  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
## [13]  3.7735849  0.7547170  0.0000000  2.2641509  0.7547170  0.3773585
## [19]  4.5283019  1.1320755  0.0000000  0.7547170  9.4339623  6.0377358
## [25] 13.2075472  0.0000000  1.8867925  0.0000000  0.0000000 27.9245283
## [31]  0.3773585  0.7547170
sum(Composition_Forbs_Wet_Riwo)
## [1] 100
#Percent Forbs Composition in Suam
sum(Forbs_Wet$Suam)
## [1] 275
Composition_Forbs_Wet_Suam <- (Forbs_Wet$Suam/275)*100
print(Composition_Forbs_Wet_Suam)
##  [1]  9.0909091  0.0000000  0.7272727  0.0000000  0.0000000  0.0000000
##  [7]  0.0000000  0.0000000  0.0000000  0.0000000  0.3636364  0.0000000
## [13]  4.0000000  1.0909091  0.0000000  0.0000000  0.0000000  0.0000000
## [19]  0.0000000  0.0000000  6.9090909 52.7272727 17.8181818  2.1818182
## [25]  1.0909091  0.0000000  0.3636364  0.0000000  1.0909091  0.0000000
## [31]  0.0000000  2.5454545
sum(Composition_Forbs_Wet_Suam)
## [1] 100
# Create a data frame of the Forb species composition percentages across the three Wards (Land use systems)
Composition_Forbs_Wet <- data.frame(Forbs_Wet$Species, Composition_Forbs_Wet_Chep, Composition_Forbs_Wet_Riwo, Composition_Forbs_Wet_Suam)
print(Composition_Forbs_Wet)
##           Forbs_Wet.Species Composition_Forbs_Wet_Chep
## 1   Acanthospermum hispidum                  0.5434783
## 2        Achyranthes aspera                  1.0869565
## 3       Ageratum conyzoides                 17.3913043
## 4       Asystasia schimperi                  0.5434783
## 5    Blepharis integrifolia                  0.0000000
## 6   Bothriocline somalensis                  1.0869565
## 7    Commelina benghalensis                  3.8043478
## 8     Commicarpus stellatus                  0.5434783
## 9         Conyza floribunda                  1.6304348
## 10         Crabbea velutina                  0.5434783
## 11      Cyphostemma serpens                  0.0000000
## 12        Datura stramonium                  0.5434783
## 13      Erlangea cordifolia                  0.0000000
## 14          Euphorbia hirta                  2.7173913
## 15      Euphorbia prostrata                  0.5434783
## 16     Evolvulus alsinoides                  0.0000000
## 17     Galinsoga parviflora                  0.0000000
## 18  Heliotropium somalensis                  0.0000000
## 19  Justicia declipteroides                  0.0000000
## 20     Kalanchoe densiflora                  0.5434783
## 21     Kalanchoe lanceolata                  0.5434783
## 22        Leonotis mollisma                 46.1956522
## 23 Peristrophe bicalyculata                  0.0000000
## 24   Richardia brasiliensis                 10.3260870
## 25           Ruellia patula                  3.8043478
## 26            Sonchus asper                  0.5434783
## 27          Targetes minuta                  2.1739130
## 28   Trichodesma zeylanicum                  0.5434783
## 29        Tridax procumbens                  0.0000000
## 30    Trifolium semipilosum                  4.3478261
## 31        Zornia reticulata                  0.0000000
## 32            Zornia setosa                  0.0000000
##    Composition_Forbs_Wet_Riwo Composition_Forbs_Wet_Suam
## 1                   0.0000000                  9.0909091
## 2                   0.0000000                  0.0000000
## 3                   1.8867925                  0.7272727
## 4                   0.0000000                  0.0000000
## 5                  18.1132075                  0.0000000
## 6                   3.0188679                  0.0000000
## 7                   3.0188679                  0.0000000
## 8                   0.0000000                  0.0000000
## 9                   0.0000000                  0.0000000
## 10                  0.0000000                  0.0000000
## 11                  0.0000000                  0.3636364
## 12                  0.0000000                  0.0000000
## 13                  3.7735849                  4.0000000
## 14                  0.7547170                  1.0909091
## 15                  0.0000000                  0.0000000
## 16                  2.2641509                  0.0000000
## 17                  0.7547170                  0.0000000
## 18                  0.3773585                  0.0000000
## 19                  4.5283019                  0.0000000
## 20                  1.1320755                  0.0000000
## 21                  0.0000000                  6.9090909
## 22                  0.7547170                 52.7272727
## 23                  9.4339623                 17.8181818
## 24                  6.0377358                  2.1818182
## 25                 13.2075472                  1.0909091
## 26                  0.0000000                  0.0000000
## 27                  1.8867925                  0.3636364
## 28                  0.0000000                  0.0000000
## 29                  0.0000000                  1.0909091
## 30                 27.9245283                  0.0000000
## 31                  0.3773585                  0.0000000
## 32                  0.7547170                  2.5454545
# Rename the column names for the Composition_Grasses_Wet newly created dataframe
colnames(Composition_Forbs_Wet) <- c ("Forb Species", "Chepararia", "Riwo", "Suam")
print(Composition_Forbs_Wet)
##                Forb Species Chepararia       Riwo       Suam
## 1   Acanthospermum hispidum  0.5434783  0.0000000  9.0909091
## 2        Achyranthes aspera  1.0869565  0.0000000  0.0000000
## 3       Ageratum conyzoides 17.3913043  1.8867925  0.7272727
## 4       Asystasia schimperi  0.5434783  0.0000000  0.0000000
## 5    Blepharis integrifolia  0.0000000 18.1132075  0.0000000
## 6   Bothriocline somalensis  1.0869565  3.0188679  0.0000000
## 7    Commelina benghalensis  3.8043478  3.0188679  0.0000000
## 8     Commicarpus stellatus  0.5434783  0.0000000  0.0000000
## 9         Conyza floribunda  1.6304348  0.0000000  0.0000000
## 10         Crabbea velutina  0.5434783  0.0000000  0.0000000
## 11      Cyphostemma serpens  0.0000000  0.0000000  0.3636364
## 12        Datura stramonium  0.5434783  0.0000000  0.0000000
## 13      Erlangea cordifolia  0.0000000  3.7735849  4.0000000
## 14          Euphorbia hirta  2.7173913  0.7547170  1.0909091
## 15      Euphorbia prostrata  0.5434783  0.0000000  0.0000000
## 16     Evolvulus alsinoides  0.0000000  2.2641509  0.0000000
## 17     Galinsoga parviflora  0.0000000  0.7547170  0.0000000
## 18  Heliotropium somalensis  0.0000000  0.3773585  0.0000000
## 19  Justicia declipteroides  0.0000000  4.5283019  0.0000000
## 20     Kalanchoe densiflora  0.5434783  1.1320755  0.0000000
## 21     Kalanchoe lanceolata  0.5434783  0.0000000  6.9090909
## 22        Leonotis mollisma 46.1956522  0.7547170 52.7272727
## 23 Peristrophe bicalyculata  0.0000000  9.4339623 17.8181818
## 24   Richardia brasiliensis 10.3260870  6.0377358  2.1818182
## 25           Ruellia patula  3.8043478 13.2075472  1.0909091
## 26            Sonchus asper  0.5434783  0.0000000  0.0000000
## 27          Targetes minuta  2.1739130  1.8867925  0.3636364
## 28   Trichodesma zeylanicum  0.5434783  0.0000000  0.0000000
## 29        Tridax procumbens  0.0000000  0.0000000  1.0909091
## 30    Trifolium semipilosum  4.3478261 27.9245283  0.0000000
## 31        Zornia reticulata  0.0000000  0.3773585  0.0000000
## 32            Zornia setosa  0.0000000  0.7547170  2.5454545
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Forbs_Wet_Long <- Composition_Forbs_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Forbs_Wet_Long)
## # A tibble: 96 × 3
##    `Forb Species`          Wards      Composition
##    <chr>                   <chr>            <dbl>
##  1 Acanthospermum hispidum Chepararia       0.543
##  2 Acanthospermum hispidum Riwo             0    
##  3 Acanthospermum hispidum Suam             9.09 
##  4 Achyranthes aspera      Chepararia       1.09 
##  5 Achyranthes aspera      Riwo             0    
##  6 Achyranthes aspera      Suam             0    
##  7 Ageratum conyzoides     Chepararia      17.4  
##  8 Ageratum conyzoides     Riwo             1.89 
##  9 Ageratum conyzoides     Suam             0.727
## 10 Asystasia schimperi     Chepararia       0.543
## # … with 86 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Composition_Forbs_Wet <- aov (Composition ~ Wards, data = Composition_Forbs_Wet_Long)
summary (Anova_Composition_Forbs_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0    0.00       0      1
## Residuals   93   6410   68.92
#Percent Shrub Species Composition
#Percent Shrubs Composition in Chepararia
sum(Shrubs_Wet$Chepararia)
## [1] 366
Composition_Shrubs_Wet_Chep <- (Shrubs_Wet$Chepararia/366)*100
print(Composition_Shrubs_Wet_Chep)
##  [1]  3.5519126  0.5464481  0.2732240  0.0000000  1.0928962  0.2732240
##  [7]  0.2732240  0.0000000  2.1857923  0.2732240  1.3661202  3.8251366
## [13]  0.0000000  0.0000000  0.2732240  0.0000000  0.0000000  0.0000000
## [19]  0.0000000  1.9125683  0.0000000  2.1857923  0.2732240  0.8196721
## [25] 17.7595628  0.5464481  0.0000000 11.2021858  1.9125683  0.2732240
## [31]  1.6393443  4.9180328  0.2732240  1.0928962  5.1912568 33.3333333
## [37]  1.9125683  0.2732240  0.5464481
sum(Composition_Shrubs_Wet_Chep)
## [1] 100
#Percent Shrubs Composition in Riwo
sum(Shrubs_Wet$Riwo)
## [1] 761
Composition_Shrubs_Wet_Riwo <- (Shrubs_Wet$Riwo/761)*100
print(Composition_Shrubs_Wet_Riwo)
##  [1]  7.0959264  0.0000000  1.9710907  0.1314060  0.0000000  0.0000000
##  [7]  0.0000000  0.0000000  0.0000000  0.2628121  0.6570302  0.9198423
## [13]  5.6504599  0.1314060  0.2628121  0.1314060  0.1314060  0.0000000
## [19]  0.9198423  0.3942181  2.8909330 42.7069645  0.0000000  4.7306176
## [25]  0.0000000  0.0000000  0.1314060  1.8396846  1.1826544  0.0000000
## [31]  0.3942181  0.3942181  3.0223390  3.2851511 10.7752957  9.8554534
## [37]  0.0000000  0.0000000  0.1314060
sum(Composition_Shrubs_Wet_Riwo)
## [1] 100
#Percent Shrubs Composition in Suam
sum(Shrubs_Wet$Suam)
## [1] 1216
Composition_Shrubs_Wet_Suam <- (Shrubs_Wet$Suam/1216)*100
print(Composition_Shrubs_Wet_Suam)
##  [1]  3.28947368  0.65789474  2.63157895  0.41118421  0.00000000  0.00000000
##  [7]  0.00000000  0.24671053  4.68750000  0.16447368  0.00000000  6.49671053
## [13]  0.08223684  0.00000000  0.00000000  0.00000000  0.00000000  0.49342105
## [19]  0.41118421  0.08223684  0.00000000 11.92434211  0.00000000  2.05592105
## [25]  2.71381579  0.00000000  0.65789474  3.53618421  0.49342105 14.88486842
## [31]  0.00000000 13.73355263 21.05263158  0.00000000  2.13815789  7.15460526
## [37]  0.00000000  0.00000000  0.00000000
sum(Composition_Shrubs_Wet_Suam)
## [1] 100
# Create a data frame of the Shrub species composition percentages across the three Wards (Land use systems)
Composition_Shrubs_Wet <- data.frame(Shrubs_Wet$Species, Composition_Shrubs_Wet_Chep, Composition_Shrubs_Wet_Riwo, Composition_Shrubs_Wet_Suam)
print(Composition_Shrubs_Wet)
##          Shrubs_Wet.Species Composition_Shrubs_Wet_Chep
## 1      Abutilon mauritianum                   3.5519126
## 2         Acacia brevispica                   0.5464481
## 3        Acalypha fruticosa                   0.2732240
## 4        Acalypha neptunica                   0.0000000
## 5        Achyranthes aspera                   1.0928962
## 6            Agave sisalana                   0.2732240
## 7                 Aloe vera                   0.2732240
## 8      Barleria acanthoides                   0.0000000
## 9        Barleria prionitis                   2.1857923
## 10    Capparis fascicularis                   0.2732240
## 11         Carissa spinarum                   1.3661202
## 12      Cissus rotundifolia                   3.8251366
## 13     Combretum hereroense                   0.0000000
## 14    Dichrostachys cinerea                   0.0000000
## 15         Euclea divinorum                   0.2732240
## 16      Euphorbia gossypina                   0.0000000
## 17        Flacourtia indica                   0.0000000
## 18             Grewia tenax                   0.0000000
## 19       Grewia trichocarpa                   0.0000000
## 20           Grewia villosa                   1.9125683
## 21    Harrisonia abyssinica                   0.0000000
## 22  Hypoestes verticillaris                   2.1857923
## 23       Indigofera arrecta                   0.2732240
## 24         Ipomea kituensis                   0.8196721
## 25           Lantana camara                  17.7595628
## 26          Lippia javanica                   0.5464481
## 27    Maytenus heterophylla                   0.0000000
## 28             Ocimum suave                  11.2021858
## 29 Ormocarpum trichorcarpum                   1.9125683
## 30  Sansevieria ehrenbergii                   0.2732240
## 31       Searsia natalensis                   1.6393443
## 32        Senna obtusifolia                   4.9180328
## 33       Senna occidentalis                   0.2732240
## 34          Senna singueana                   1.0928962
## 35          Sida cuneifolia                   5.1912568
## 36          Solanum incanum                  33.3333333
## 37         Tephrosa villosa                   1.9125683
## 38       Withania somnifera                   0.2732240
## 39        Ximenia americana                   0.5464481
##    Composition_Shrubs_Wet_Riwo Composition_Shrubs_Wet_Suam
## 1                    7.0959264                  3.28947368
## 2                    0.0000000                  0.65789474
## 3                    1.9710907                  2.63157895
## 4                    0.1314060                  0.41118421
## 5                    0.0000000                  0.00000000
## 6                    0.0000000                  0.00000000
## 7                    0.0000000                  0.00000000
## 8                    0.0000000                  0.24671053
## 9                    0.0000000                  4.68750000
## 10                   0.2628121                  0.16447368
## 11                   0.6570302                  0.00000000
## 12                   0.9198423                  6.49671053
## 13                   5.6504599                  0.08223684
## 14                   0.1314060                  0.00000000
## 15                   0.2628121                  0.00000000
## 16                   0.1314060                  0.00000000
## 17                   0.1314060                  0.00000000
## 18                   0.0000000                  0.49342105
## 19                   0.9198423                  0.41118421
## 20                   0.3942181                  0.08223684
## 21                   2.8909330                  0.00000000
## 22                  42.7069645                 11.92434211
## 23                   0.0000000                  0.00000000
## 24                   4.7306176                  2.05592105
## 25                   0.0000000                  2.71381579
## 26                   0.0000000                  0.00000000
## 27                   0.1314060                  0.65789474
## 28                   1.8396846                  3.53618421
## 29                   1.1826544                  0.49342105
## 30                   0.0000000                 14.88486842
## 31                   0.3942181                  0.00000000
## 32                   0.3942181                 13.73355263
## 33                   3.0223390                 21.05263158
## 34                   3.2851511                  0.00000000
## 35                  10.7752957                  2.13815789
## 36                   9.8554534                  7.15460526
## 37                   0.0000000                  0.00000000
## 38                   0.0000000                  0.00000000
## 39                   0.1314060                  0.00000000
# Rename the column names for the Composition_Shrubs_Wet newly created dataframe
colnames(Composition_Shrubs_Wet) <- c ("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Composition_Shrubs_Wet)
##               Shrub Species Chepararia       Riwo        Suam
## 1      Abutilon mauritianum  3.5519126  7.0959264  3.28947368
## 2         Acacia brevispica  0.5464481  0.0000000  0.65789474
## 3        Acalypha fruticosa  0.2732240  1.9710907  2.63157895
## 4        Acalypha neptunica  0.0000000  0.1314060  0.41118421
## 5        Achyranthes aspera  1.0928962  0.0000000  0.00000000
## 6            Agave sisalana  0.2732240  0.0000000  0.00000000
## 7                 Aloe vera  0.2732240  0.0000000  0.00000000
## 8      Barleria acanthoides  0.0000000  0.0000000  0.24671053
## 9        Barleria prionitis  2.1857923  0.0000000  4.68750000
## 10    Capparis fascicularis  0.2732240  0.2628121  0.16447368
## 11         Carissa spinarum  1.3661202  0.6570302  0.00000000
## 12      Cissus rotundifolia  3.8251366  0.9198423  6.49671053
## 13     Combretum hereroense  0.0000000  5.6504599  0.08223684
## 14    Dichrostachys cinerea  0.0000000  0.1314060  0.00000000
## 15         Euclea divinorum  0.2732240  0.2628121  0.00000000
## 16      Euphorbia gossypina  0.0000000  0.1314060  0.00000000
## 17        Flacourtia indica  0.0000000  0.1314060  0.00000000
## 18             Grewia tenax  0.0000000  0.0000000  0.49342105
## 19       Grewia trichocarpa  0.0000000  0.9198423  0.41118421
## 20           Grewia villosa  1.9125683  0.3942181  0.08223684
## 21    Harrisonia abyssinica  0.0000000  2.8909330  0.00000000
## 22  Hypoestes verticillaris  2.1857923 42.7069645 11.92434211
## 23       Indigofera arrecta  0.2732240  0.0000000  0.00000000
## 24         Ipomea kituensis  0.8196721  4.7306176  2.05592105
## 25           Lantana camara 17.7595628  0.0000000  2.71381579
## 26          Lippia javanica  0.5464481  0.0000000  0.00000000
## 27    Maytenus heterophylla  0.0000000  0.1314060  0.65789474
## 28             Ocimum suave 11.2021858  1.8396846  3.53618421
## 29 Ormocarpum trichorcarpum  1.9125683  1.1826544  0.49342105
## 30  Sansevieria ehrenbergii  0.2732240  0.0000000 14.88486842
## 31       Searsia natalensis  1.6393443  0.3942181  0.00000000
## 32        Senna obtusifolia  4.9180328  0.3942181 13.73355263
## 33       Senna occidentalis  0.2732240  3.0223390 21.05263158
## 34          Senna singueana  1.0928962  3.2851511  0.00000000
## 35          Sida cuneifolia  5.1912568 10.7752957  2.13815789
## 36          Solanum incanum 33.3333333  9.8554534  7.15460526
## 37         Tephrosa villosa  1.9125683  0.0000000  0.00000000
## 38       Withania somnifera  0.2732240  0.0000000  0.00000000
## 39        Ximenia americana  0.5464481  0.1314060  0.00000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Shrubs_Wet_Long <- Composition_Shrubs_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Shrubs_Wet_Long)
## # A tibble: 117 × 3
##    `Shrub Species`      Wards      Composition
##    <chr>                <chr>            <dbl>
##  1 Abutilon mauritianum Chepararia       3.55 
##  2 Abutilon mauritianum Riwo             7.10 
##  3 Abutilon mauritianum Suam             3.29 
##  4 Acacia brevispica    Chepararia       0.546
##  5 Acacia brevispica    Riwo             0    
##  6 Acacia brevispica    Suam             0.658
##  7 Acalypha fruticosa   Chepararia       0.273
##  8 Acalypha fruticosa   Riwo             1.97 
##  9 Acalypha fruticosa   Suam             2.63 
## 10 Acalypha neptunica   Chepararia       0    
## # … with 107 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Composition_Shrubs_Wet <- aov (Composition ~ Wards, data = Composition_Shrubs_Wet_Long)
summary (Anova_Composition_Shrubs_Wet)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Wards         2      0    0.00       0      1
## Residuals   114   4232   37.12
#Percent Tree Species Composition
#Percent Trees composition in Chepararia
sum(Trees_Wet$Chepararia)
## [1] 208
Composition_Trees_Wet_Chep <- (Trees_Wet$Chepararia/208)*100
print(Composition_Trees_Wet_Chep)
##  [1]  2.8846154 20.6730769  0.0000000  7.6923077 19.7115385 10.0961538
##  [7]  3.8461538  5.7692308  0.0000000  1.9230769  0.9615385  1.4423077
## [13]  0.0000000  0.9615385  0.0000000  0.0000000  2.4038462  3.3653846
## [19]  0.0000000 10.5769231  0.0000000  0.0000000  0.9615385  1.4423077
## [25]  0.0000000  0.4807692  0.0000000  0.0000000  1.4423077  0.0000000
## [31]  0.0000000  0.0000000  0.0000000  0.0000000  0.4807692  1.4423077
## [37]  0.0000000  1.4423077
sum(Composition_Trees_Wet_Chep)
## [1] 100
#Percent Trees composition in Riwo
sum(Trees_Wet$Riwo)
## [1] 294
Composition_Trees_Wet_Riwo <- (Trees_Wet$Riwo/294)*100
print(Composition_Trees_Wet_Riwo)
##  [1]  0.0000000  4.0816327  0.0000000  0.6802721  7.8231293  5.1020408
##  [7]  0.0000000  0.0000000  0.0000000 15.6462585  0.3401361 13.9455782
## [13]  0.0000000  0.0000000  0.0000000  0.6802721  0.3401361  0.0000000
## [19]  0.0000000  2.0408163  0.6802721  0.3401361  0.0000000 10.8843537
## [25]  3.0612245  0.0000000  0.3401361  1.0204082  0.0000000  0.3401361
## [31]  1.0204082  0.0000000  0.3401361  2.0408163  1.3605442  1.3605442
## [37] 25.8503401  0.6802721
sum(Composition_Trees_Wet_Riwo)
## [1] 100
#Percent Trees composition in Suam
sum(Trees_Wet$Suam, na.rm = TRUE)
## [1] 286
Composition_Trees_Wet_Suam <- (Trees_Wet$Suam/286)*100
print(Composition_Trees_Wet_Suam)
##  [1]  0.0000000  0.3496503 16.0839161  1.0489510 39.8601399 10.1398601
##  [7]  4.8951049  0.0000000  0.6993007  1.7482517  3.1468531  8.3916084
## [13]  0.6993007  1.0489510  0.3496503  0.0000000  1.0489510  0.0000000
## [19]  1.0489510  0.6993007  1.3986014  0.0000000  0.0000000  1.0489510
## [25]  0.6993007  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
## [31]  0.0000000  1.3986014  1.0489510  0.0000000  0.3496503  2.0979021
## [37]  0.6993007  0.0000000
sum(Composition_Trees_Wet_Suam)
## [1] 100
# Create a data frame of the Tree species composition percentages across the three Wards (Land use systems)
Composition_Trees_Wet <- data.frame(Trees_Wet$Species, Composition_Trees_Wet_Chep, Composition_Trees_Wet_Riwo, Composition_Trees_Wet_Suam)
print(Composition_Trees_Wet)
##            Trees_Wet.Species Composition_Trees_Wet_Chep
## 1       Acacia drepanolobium                  2.8846154
## 2           Acacia gerrardii                 20.6730769
## 3              Acacia hockii                  0.0000000
## 4           Acacia mellifera                  7.6923077
## 5            Acacia nilotica                 19.7115385
## 6             Acacia senegal                 10.0961538
## 7            Acacia tortilis                  3.8461538
## 8  Acokanthera oppositifolia                  5.7692308
## 9             Adenium obesum                  0.0000000
## 10             Albizia amara                  1.9230769
## 11     Albizia anthelmintica                  0.9615385
## 12      Balanites aegyptiaca                  1.4423077
## 13    Balanites pedicellaris                  0.0000000
## 14           Boscia coriacea                  0.9615385
## 15          Canthium glaucum                  0.0000000
## 16           Combretum molle                  0.0000000
## 17       Commiphora africana                  2.4038462
## 18      Croton macrostachyus                  3.3653846
## 19          Cussonia spicata                  0.0000000
## 20     Euphorbia candelabrum                 10.5769231
## 21         Faidherbia albida                  0.0000000
## 22          Ficus thonningii                  0.0000000
## 23         Gravillea robusta                  0.9615385
## 24            Grewia bicolor                  1.4423077
## 25              Lannea fulva                  0.0000000
## 26             Olea africana                  0.4807692
## 27    Piliostigma thonningii                  0.0000000
## 28        Sclerocarya birrea                  0.0000000
## 29           Sesbania sesban                  1.4423077
## 30      Synadenium compactum                  0.0000000
## 31         Tamarindus indica                  0.0000000
## 32            Teclea nobilis                  0.0000000
## 33        Terminalia brownii                  0.0000000
## 34     Terminalia prunioides                  0.0000000
## 35        Vangueria infausta                  0.4807692
## 36     Zanthoxylum chalybeum                  1.4423077
## 37       Ziziphus abyssinica                  0.0000000
## 38        Ziziphus mucronata                  1.4423077
##    Composition_Trees_Wet_Riwo Composition_Trees_Wet_Suam
## 1                   0.0000000                  0.0000000
## 2                   4.0816327                  0.3496503
## 3                   0.0000000                 16.0839161
## 4                   0.6802721                  1.0489510
## 5                   7.8231293                 39.8601399
## 6                   5.1020408                 10.1398601
## 7                   0.0000000                  4.8951049
## 8                   0.0000000                  0.0000000
## 9                   0.0000000                  0.6993007
## 10                 15.6462585                  1.7482517
## 11                  0.3401361                  3.1468531
## 12                 13.9455782                  8.3916084
## 13                  0.0000000                  0.6993007
## 14                  0.0000000                  1.0489510
## 15                  0.0000000                  0.3496503
## 16                  0.6802721                  0.0000000
## 17                  0.3401361                  1.0489510
## 18                  0.0000000                  0.0000000
## 19                  0.0000000                  1.0489510
## 20                  2.0408163                  0.6993007
## 21                  0.6802721                  1.3986014
## 22                  0.3401361                  0.0000000
## 23                  0.0000000                  0.0000000
## 24                 10.8843537                  1.0489510
## 25                  3.0612245                  0.6993007
## 26                  0.0000000                  0.0000000
## 27                  0.3401361                  0.0000000
## 28                  1.0204082                  0.0000000
## 29                  0.0000000                  0.0000000
## 30                  0.3401361                  0.0000000
## 31                  1.0204082                  0.0000000
## 32                  0.0000000                  1.3986014
## 33                  0.3401361                  1.0489510
## 34                  2.0408163                  0.0000000
## 35                  1.3605442                  0.3496503
## 36                  1.3605442                  2.0979021
## 37                 25.8503401                  0.6993007
## 38                  0.6802721                  0.0000000
# Rename the column names for the Composition_Grasses_Wet newly created dataframe
colnames(Composition_Trees_Wet) <- c ("Tree Species", "Chepararia", "Riwo", "Suam")
print(Composition_Trees_Wet)
##                 Tree Species Chepararia       Riwo       Suam
## 1       Acacia drepanolobium  2.8846154  0.0000000  0.0000000
## 2           Acacia gerrardii 20.6730769  4.0816327  0.3496503
## 3              Acacia hockii  0.0000000  0.0000000 16.0839161
## 4           Acacia mellifera  7.6923077  0.6802721  1.0489510
## 5            Acacia nilotica 19.7115385  7.8231293 39.8601399
## 6             Acacia senegal 10.0961538  5.1020408 10.1398601
## 7            Acacia tortilis  3.8461538  0.0000000  4.8951049
## 8  Acokanthera oppositifolia  5.7692308  0.0000000  0.0000000
## 9             Adenium obesum  0.0000000  0.0000000  0.6993007
## 10             Albizia amara  1.9230769 15.6462585  1.7482517
## 11     Albizia anthelmintica  0.9615385  0.3401361  3.1468531
## 12      Balanites aegyptiaca  1.4423077 13.9455782  8.3916084
## 13    Balanites pedicellaris  0.0000000  0.0000000  0.6993007
## 14           Boscia coriacea  0.9615385  0.0000000  1.0489510
## 15          Canthium glaucum  0.0000000  0.0000000  0.3496503
## 16           Combretum molle  0.0000000  0.6802721  0.0000000
## 17       Commiphora africana  2.4038462  0.3401361  1.0489510
## 18      Croton macrostachyus  3.3653846  0.0000000  0.0000000
## 19          Cussonia spicata  0.0000000  0.0000000  1.0489510
## 20     Euphorbia candelabrum 10.5769231  2.0408163  0.6993007
## 21         Faidherbia albida  0.0000000  0.6802721  1.3986014
## 22          Ficus thonningii  0.0000000  0.3401361  0.0000000
## 23         Gravillea robusta  0.9615385  0.0000000  0.0000000
## 24            Grewia bicolor  1.4423077 10.8843537  1.0489510
## 25              Lannea fulva  0.0000000  3.0612245  0.6993007
## 26             Olea africana  0.4807692  0.0000000  0.0000000
## 27    Piliostigma thonningii  0.0000000  0.3401361  0.0000000
## 28        Sclerocarya birrea  0.0000000  1.0204082  0.0000000
## 29           Sesbania sesban  1.4423077  0.0000000  0.0000000
## 30      Synadenium compactum  0.0000000  0.3401361  0.0000000
## 31         Tamarindus indica  0.0000000  1.0204082  0.0000000
## 32            Teclea nobilis  0.0000000  0.0000000  1.3986014
## 33        Terminalia brownii  0.0000000  0.3401361  1.0489510
## 34     Terminalia prunioides  0.0000000  2.0408163  0.0000000
## 35        Vangueria infausta  0.4807692  1.3605442  0.3496503
## 36     Zanthoxylum chalybeum  1.4423077  1.3605442  2.0979021
## 37       Ziziphus abyssinica  0.0000000 25.8503401  0.6993007
## 38        Ziziphus mucronata  1.4423077  0.6802721  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Trees_Wet_Long <- Composition_Trees_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Trees_Wet_Long)
## # A tibble: 114 × 3
##    `Tree Species`       Wards      Composition
##    <chr>                <chr>            <dbl>
##  1 Acacia drepanolobium Chepararia       2.88 
##  2 Acacia drepanolobium Riwo             0    
##  3 Acacia drepanolobium Suam             0    
##  4 Acacia gerrardii     Chepararia      20.7  
##  5 Acacia gerrardii     Riwo             4.08 
##  6 Acacia gerrardii     Suam             0.350
##  7 Acacia hockii        Chepararia       0    
##  8 Acacia hockii        Riwo             0    
##  9 Acacia hockii        Suam            16.1  
## 10 Acacia mellifera     Chepararia       7.69 
## # … with 104 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Composition_Trees_Wet <- aov (Composition ~ Wards, data = Composition_Trees_Wet_Long)
summary (Anova_Composition_Trees_Wet)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Wards         2      0    0.00       0      1
## Residuals   111   3822   34.43
#4. WET SEASON GROUND COVER
Point_Wet <- read_excel("WP_Vegetation.xlsx", sheet = 5)
head(Point_Wet)
## # A tibble: 6 × 4
##   SPECIES                 Chepararia  Riwo  Suam
##   <chr>                        <dbl> <dbl> <dbl>
## 1 Acanthospermum hispidum          1     0     0
## 2 Achyranthes aspera               4     0     0
## 3 Ageratum conyzoides              7     0     2
## 4 Aristida adoensis               15     0     0
## 5 Aristida adscensionis           24    19     0
## 6 Bareground                      14    39    60
# Ground Cover percent in Chepararia during the wet season
sum(Point_Wet$Chepararia)
## [1] 238
Ground_Cover_Wet_Chep <- (Point_Wet$Chepararia/238)*100
print(Ground_Cover_Wet_Chep)  
##  [1]  0.4201681  1.6806723  2.9411765  6.3025210 10.0840336  5.8823529
##  [7]  0.4201681 19.3277311  0.0000000  0.0000000  9.2436975  0.4201681
## [13]  2.5210084  0.4201681 12.6050420  2.1008403  5.4621849  1.6806723
## [19]  7.1428571  0.0000000  0.0000000  4.6218487  0.0000000  0.0000000
## [25]  0.0000000  0.4201681  1.6806723  0.0000000  0.0000000  0.8403361
## [31]  0.4201681  1.2605042  0.0000000  0.0000000  0.0000000  0.4201681
## [37]  0.8403361  0.8403361  0.0000000  0.0000000  0.0000000
#Ground Cover percent in Riwo
sum(Point_Wet$Riwo)
## [1] 247
Ground_Cover_Wet_Riwo <- (Point_Wet$Riwo/247)*100
print(Ground_Cover_Wet_Riwo)
##  [1]  0.0000000  0.0000000  0.0000000  0.0000000  7.6923077 15.7894737
##  [7]  0.0000000 20.2429150  4.0485830  2.0242915 19.8380567  0.0000000
## [13]  0.0000000  0.0000000  1.6194332  0.0000000  9.3117409  0.0000000
## [19]  0.4048583  0.8097166  0.8097166  0.0000000  0.4048583  0.8097166
## [25]  4.0485830  0.0000000  0.0000000  0.0000000  0.0000000  2.0242915
## [31]  0.8097166  0.0000000  0.0000000  2.0242915  6.0728745  0.0000000
## [37]  0.0000000  0.0000000  0.0000000  0.8097166  0.4048583
#Ground Cover percent in Suam
sum(Point_Wet$Suam)
## [1] 228
Ground_Cover_Wet_Suam <- (Point_Wet$Suam/228)*100
print(Ground_Cover_Wet_Suam)
##  [1]  0.0000000  0.0000000  0.8771930  0.0000000  0.0000000 26.3157895
##  [7]  0.0000000  9.2105263  3.5087719  1.3157895 28.9473684  0.0000000
## [13]  0.0000000  0.0000000  0.8771930  3.9473684  9.6491228  0.0000000
## [19]  0.0000000  0.0000000  3.9473684  0.0000000  0.0000000  2.6315789
## [25]  0.4385965  0.0000000  0.0000000  2.1929825  1.7543860  0.0000000
## [31]  1.3157895  0.0000000  0.4385965  0.4385965  1.7543860  0.0000000
## [37]  0.0000000  0.0000000  0.4385965  0.0000000  0.0000000
# Creating a dataframe of ground cover across the three wards
Ground_Cover_Wet <- data.frame(Point_Wet$SPECIES, Ground_Cover_Wet_Chep, Ground_Cover_Wet_Riwo, Ground_Cover_Wet_Suam)
print(Ground_Cover_Wet)
##           Point_Wet.SPECIES Ground_Cover_Wet_Chep Ground_Cover_Wet_Riwo
## 1   Acanthospermum hispidum             0.4201681             0.0000000
## 2        Achyranthes aspera             1.6806723             0.0000000
## 3       Ageratum conyzoides             2.9411765             0.0000000
## 4         Aristida adoensis             6.3025210             0.0000000
## 5     Aristida adscensionis            10.0840336             7.6923077
## 6                Bareground             5.8823529            15.7894737
## 7   Bothriocline somalensis             0.4201681             0.0000000
## 8     Bothriocloa insculpta            19.3277311            20.2429150
## 9        Brachiaria deflexa             0.0000000             4.0485830
## 10       Cenchrus setigerus             0.0000000             2.0242915
## 11       Chloris pycnothrix             9.2436975            19.8380567
## 12     Chloris roxburghiana             0.4201681             0.0000000
## 13   Commelina benghalensis             2.5210084             0.0000000
## 14  Cymbopogon pospischilii             0.4201681             0.0000000
## 15         Cynodon dactylon            12.6050420             1.6194332
## 16 Dactyloctenium aegyptium             2.1008403             0.0000000
## 17       Digitaria velutina             5.4621849             9.3117409
## 18     Echinochloa stagnina             1.6806723             0.0000000
## 19          Eleusine indica             7.1428571             0.4048583
## 20       Eragrostis brownii             0.0000000             0.8097166
## 21      Eragrostis congesta             0.0000000             0.8097166
## 22       Eragrostis superba             4.6218487             0.0000000
## 23      Erlangea cordifolia             0.0000000             0.4048583
## 24       Abutilon maritimum             0.0000000             0.8097166
## 25      Harpachne schimperi             0.0000000             4.0485830
## 26    Heteropogon contortus             0.4201681             0.0000000
## 27     Hyparrhenia lintonii             1.6806723             0.0000000
## 28      Justicia calyculata             0.0000000             0.0000000
## 29                   Litter             0.0000000             0.0000000
## 30      Melinis minutiflora             0.8403361             2.0242915
## 31           Melinis repens             0.4201681             0.8097166
## 32   Richardia brasiliensis             1.2605042             0.0000000
## 33                     Rock             0.0000000             0.0000000
## 34           Ruellia patula             0.0000000             2.0242915
## 35     Setaria verticillata             0.0000000             6.0728745
## 36            Sonchus asper             0.4201681             0.0000000
## 37   Sporobolus pyramidalis             0.8403361             0.0000000
## 38           Tagetes minuta             0.8403361             0.0000000
## 39        Tridax procumbens             0.0000000             0.0000000
## 40    Trifolium semipilosum             0.0000000             0.8097166
## 41        Zornia reticulata             0.0000000             0.4048583
##    Ground_Cover_Wet_Suam
## 1              0.0000000
## 2              0.0000000
## 3              0.8771930
## 4              0.0000000
## 5              0.0000000
## 6             26.3157895
## 7              0.0000000
## 8              9.2105263
## 9              3.5087719
## 10             1.3157895
## 11            28.9473684
## 12             0.0000000
## 13             0.0000000
## 14             0.0000000
## 15             0.8771930
## 16             3.9473684
## 17             9.6491228
## 18             0.0000000
## 19             0.0000000
## 20             0.0000000
## 21             3.9473684
## 22             0.0000000
## 23             0.0000000
## 24             2.6315789
## 25             0.4385965
## 26             0.0000000
## 27             0.0000000
## 28             2.1929825
## 29             1.7543860
## 30             0.0000000
## 31             1.3157895
## 32             0.0000000
## 33             0.4385965
## 34             0.4385965
## 35             1.7543860
## 36             0.0000000
## 37             0.0000000
## 38             0.0000000
## 39             0.4385965
## 40             0.0000000
## 41             0.0000000
# Renaming the column names of the dataframe
colnames(Ground_Cover_Wet) <- c ("Species", "Chepararia", "Riwo", "Suam")
print(Ground_Cover_Wet)
##                     Species Chepararia       Riwo       Suam
## 1   Acanthospermum hispidum  0.4201681  0.0000000  0.0000000
## 2        Achyranthes aspera  1.6806723  0.0000000  0.0000000
## 3       Ageratum conyzoides  2.9411765  0.0000000  0.8771930
## 4         Aristida adoensis  6.3025210  0.0000000  0.0000000
## 5     Aristida adscensionis 10.0840336  7.6923077  0.0000000
## 6                Bareground  5.8823529 15.7894737 26.3157895
## 7   Bothriocline somalensis  0.4201681  0.0000000  0.0000000
## 8     Bothriocloa insculpta 19.3277311 20.2429150  9.2105263
## 9        Brachiaria deflexa  0.0000000  4.0485830  3.5087719
## 10       Cenchrus setigerus  0.0000000  2.0242915  1.3157895
## 11       Chloris pycnothrix  9.2436975 19.8380567 28.9473684
## 12     Chloris roxburghiana  0.4201681  0.0000000  0.0000000
## 13   Commelina benghalensis  2.5210084  0.0000000  0.0000000
## 14  Cymbopogon pospischilii  0.4201681  0.0000000  0.0000000
## 15         Cynodon dactylon 12.6050420  1.6194332  0.8771930
## 16 Dactyloctenium aegyptium  2.1008403  0.0000000  3.9473684
## 17       Digitaria velutina  5.4621849  9.3117409  9.6491228
## 18     Echinochloa stagnina  1.6806723  0.0000000  0.0000000
## 19          Eleusine indica  7.1428571  0.4048583  0.0000000
## 20       Eragrostis brownii  0.0000000  0.8097166  0.0000000
## 21      Eragrostis congesta  0.0000000  0.8097166  3.9473684
## 22       Eragrostis superba  4.6218487  0.0000000  0.0000000
## 23      Erlangea cordifolia  0.0000000  0.4048583  0.0000000
## 24       Abutilon maritimum  0.0000000  0.8097166  2.6315789
## 25      Harpachne schimperi  0.0000000  4.0485830  0.4385965
## 26    Heteropogon contortus  0.4201681  0.0000000  0.0000000
## 27     Hyparrhenia lintonii  1.6806723  0.0000000  0.0000000
## 28      Justicia calyculata  0.0000000  0.0000000  2.1929825
## 29                   Litter  0.0000000  0.0000000  1.7543860
## 30      Melinis minutiflora  0.8403361  2.0242915  0.0000000
## 31           Melinis repens  0.4201681  0.8097166  1.3157895
## 32   Richardia brasiliensis  1.2605042  0.0000000  0.0000000
## 33                     Rock  0.0000000  0.0000000  0.4385965
## 34           Ruellia patula  0.0000000  2.0242915  0.4385965
## 35     Setaria verticillata  0.0000000  6.0728745  1.7543860
## 36            Sonchus asper  0.4201681  0.0000000  0.0000000
## 37   Sporobolus pyramidalis  0.8403361  0.0000000  0.0000000
## 38           Tagetes minuta  0.8403361  0.0000000  0.0000000
## 39        Tridax procumbens  0.0000000  0.0000000  0.4385965
## 40    Trifolium semipilosum  0.0000000  0.8097166  0.0000000
## 41        Zornia reticulata  0.0000000  0.4048583  0.0000000
View(Ground_Cover_Wet)
write_excel_csv(Ground_Cover_Wet, file = "Ground_Cover_Wet")

# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Ground_Cover_Wet_Long <- Ground_Cover_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Cover")
print(Ground_Cover_Wet_Long)
## # A tibble: 123 × 3
##    Species                 Wards      Cover
##    <chr>                   <chr>      <dbl>
##  1 Acanthospermum hispidum Chepararia 0.420
##  2 Acanthospermum hispidum Riwo       0    
##  3 Acanthospermum hispidum Suam       0    
##  4 Achyranthes aspera      Chepararia 1.68 
##  5 Achyranthes aspera      Riwo       0    
##  6 Achyranthes aspera      Suam       0    
##  7 Ageratum conyzoides     Chepararia 2.94 
##  8 Ageratum conyzoides     Riwo       0    
##  9 Ageratum conyzoides     Suam       0.877
## 10 Aristida adoensis       Chepararia 6.30 
## # … with 113 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Ground_Cover_Wet <- aov (Cover ~ Wards, data = Ground_Cover_Wet_Long)
summary (Anova_Ground_Cover_Wet)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Wards         2      0    0.00       0      1
## Residuals   120   3260   27.16
#5. CANOPY COVER
# Canopy Cover - a 10m long tape was being used to sample, on 3 points, in 4 campus directions per sampling point. #10*3*4*2 - for 2 sampling locations = 240m.
# The total length of the sampling tape per land use study area is 240m.
# Import the Canopy_Wet data set
Canopy_Wet <- read_xlsx("WP_Vegetation.xlsx", sheet = 7)

# Sub-setting the canopy cover of shrubs from the Canopy_Wet dataset
Canopy_Shrubs_Wet <- subset(Canopy_Wet, Lifeform == "Shrub",)
View (Canopy_Shrubs_Wet)

# Canopy cover of shrub species in Chepararia
sum(Canopy_Shrubs_Wet$Chepareria)
## Warning: Unknown or uninitialised column: `Chepareria`.
## [1] 0
# Total shrub canopy cover in Chepararia = ~29.4%
Canopy_Shrubs_Chep_Wet <- (Canopy_Shrubs_Wet$Chepararia/29.4)*100
print(Canopy_Shrubs_Chep_Wet)
##  [1]  0.000000  0.000000  0.000000  3.401361  0.000000  0.000000  0.000000
##  [8]  0.000000  0.000000  0.000000  1.020408  0.000000 10.204082  9.863946
## [15]  0.000000  0.000000 14.965986 10.884354  0.000000  0.000000  3.401361
## [22]  3.401361  2.040816 34.013605  0.000000  6.802721
#Canopy cover of Shrub species in Riwo
sum(Canopy_Shrubs_Wet$Riwo)
## [1] 61.9
#Total shrub canopy cover in Riwo = ~61.9%
Canopy_Shrubs_Riwo_Wet <- (Canopy_Shrubs_Wet$Riwo/61.9)*100
print(Canopy_Shrubs_Riwo_Wet)
##  [1]  0.4846527  1.1308562  0.0000000  0.0000000  0.6462036  0.0000000
##  [7] 23.2633279  0.0000000  0.0000000  0.0000000  0.0000000  0.8077544
## [13] 38.7722132  0.0000000  5.1696284  1.1308562  0.6462036  0.0000000
## [19]  0.0000000 17.7705977  0.3231018  2.2617124  1.9386107  5.0080775
## [25]  0.6462036  0.0000000
#Canopy cover of Shrub species in Suam
sum(Canopy_Shrubs_Wet$Suam)
## [1] 53.1
#Total shrub canopy cover in Suam = ~53.1%
Canopy_Shrubs_Suam_Wet <- (Canopy_Shrubs_Wet$Suam/53.1)
print(Canopy_Shrubs_Suam_Wet)
##  [1] 0.003766478 0.000000000 0.016949153 0.052730697 0.000000000 0.047080979
##  [7] 0.000000000 0.009416196 0.005649718 0.152542373 0.000000000 0.000000000
## [13] 0.250470810 0.000000000 0.109227872 0.000000000 0.101694915 0.041431262
## [19] 0.071563089 0.000000000 0.062146893 0.000000000 0.015065913 0.060263653
## [25] 0.000000000 0.000000000
# Creating a dataframe of Canopy cover percetages across the three wards
Canopy_Shrubs_Wet <- data.frame(Canopy_Shrubs_Wet$Species, Canopy_Shrubs_Chep_Wet, Canopy_Shrubs_Riwo_Wet, Canopy_Shrubs_Suam_Wet)
print(Canopy_Shrubs_Wet)
##    Canopy_Shrubs_Wet.Species Canopy_Shrubs_Chep_Wet Canopy_Shrubs_Riwo_Wet
## 1         Acalypha fruticosa               0.000000              0.4846527
## 2         Acalypha neptunica               0.000000              1.1308562
## 3    Acanthospermum hispidum               0.000000              0.0000000
## 4         Barleria prionitis               3.401361              0.0000000
## 5     Blepharis integrifolia               0.000000              0.6462036
## 6        Cissus rotundifolia               0.000000              0.0000000
## 7       Combretum hereroense               0.000000             23.2633279
## 8           Cussonia spicata               0.000000              0.0000000
## 9               Grewia tenax               0.000000              0.0000000
## 10        Grewia trichocarpa               0.000000              0.0000000
## 11            Grewia villosa               1.020408              0.0000000
## 12     Harrisonia abyssinica               0.000000              0.8077544
## 13   Hypoestes verticillaris              10.204082             38.7722132
## 14        Indigofera arrecta               9.863946              0.0000000
## 15          Ipomea kituensis               0.000000              5.1696284
## 16   Justicia declipteroides               0.000000              1.1308562
## 17            Lantana camara              14.965986              0.6462036
## 18         Leonotis mollisma              10.884354              0.0000000
## 19   Sansevieria ehrenbergii               0.000000              0.0000000
## 20        Searsia natalensis               0.000000             17.7705977
## 21         Senna obtusifolia               3.401361              0.3231018
## 22        Senna occidentalis               3.401361              2.2617124
## 23           Sida cuneifolia               2.040816              1.9386107
## 24           Solanum incanum              34.013605              5.0080775
## 25      Terminalia prunoides               0.000000              0.6462036
## 26          Tephrosa villosa               6.802721              0.0000000
##    Canopy_Shrubs_Suam_Wet
## 1             0.003766478
## 2             0.000000000
## 3             0.016949153
## 4             0.052730697
## 5             0.000000000
## 6             0.047080979
## 7             0.000000000
## 8             0.009416196
## 9             0.005649718
## 10            0.152542373
## 11            0.000000000
## 12            0.000000000
## 13            0.250470810
## 14            0.000000000
## 15            0.109227872
## 16            0.000000000
## 17            0.101694915
## 18            0.041431262
## 19            0.071563089
## 20            0.000000000
## 21            0.062146893
## 22            0.000000000
## 23            0.015065913
## 24            0.060263653
## 25            0.000000000
## 26            0.000000000
# Renaming the column names of the dataframe
colnames(Canopy_Shrubs_Wet) <- c ("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Canopy_Shrubs_Wet)
##              Shrub Species Chepararia       Riwo        Suam
## 1       Acalypha fruticosa   0.000000  0.4846527 0.003766478
## 2       Acalypha neptunica   0.000000  1.1308562 0.000000000
## 3  Acanthospermum hispidum   0.000000  0.0000000 0.016949153
## 4       Barleria prionitis   3.401361  0.0000000 0.052730697
## 5   Blepharis integrifolia   0.000000  0.6462036 0.000000000
## 6      Cissus rotundifolia   0.000000  0.0000000 0.047080979
## 7     Combretum hereroense   0.000000 23.2633279 0.000000000
## 8         Cussonia spicata   0.000000  0.0000000 0.009416196
## 9             Grewia tenax   0.000000  0.0000000 0.005649718
## 10      Grewia trichocarpa   0.000000  0.0000000 0.152542373
## 11          Grewia villosa   1.020408  0.0000000 0.000000000
## 12   Harrisonia abyssinica   0.000000  0.8077544 0.000000000
## 13 Hypoestes verticillaris  10.204082 38.7722132 0.250470810
## 14      Indigofera arrecta   9.863946  0.0000000 0.000000000
## 15        Ipomea kituensis   0.000000  5.1696284 0.109227872
## 16 Justicia declipteroides   0.000000  1.1308562 0.000000000
## 17          Lantana camara  14.965986  0.6462036 0.101694915
## 18       Leonotis mollisma  10.884354  0.0000000 0.041431262
## 19 Sansevieria ehrenbergii   0.000000  0.0000000 0.071563089
## 20      Searsia natalensis   0.000000 17.7705977 0.000000000
## 21       Senna obtusifolia   3.401361  0.3231018 0.062146893
## 22      Senna occidentalis   3.401361  2.2617124 0.000000000
## 23         Sida cuneifolia   2.040816  1.9386107 0.015065913
## 24         Solanum incanum  34.013605  5.0080775 0.060263653
## 25    Terminalia prunoides   0.000000  0.6462036 0.000000000
## 26        Tephrosa villosa   6.802721  0.0000000 0.000000000
view(Canopy_Shrubs_Wet)

# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Canopy_Shrubs_Wet_Long <- Canopy_Shrubs_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Canopy")
print(Canopy_Shrubs_Wet_Long)
## # A tibble: 78 × 3
##    `Shrub Species`         Wards       Canopy
##    <chr>                   <chr>        <dbl>
##  1 Acalypha fruticosa      Chepararia 0      
##  2 Acalypha fruticosa      Riwo       0.485  
##  3 Acalypha fruticosa      Suam       0.00377
##  4 Acalypha neptunica      Chepararia 0      
##  5 Acalypha neptunica      Riwo       1.13   
##  6 Acalypha neptunica      Suam       0      
##  7 Acanthospermum hispidum Chepararia 0      
##  8 Acanthospermum hispidum Riwo       0      
##  9 Acanthospermum hispidum Suam       0.0169 
## 10 Barleria prionitis      Chepararia 3.40   
## # … with 68 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Canopy_Shrubs_Wet <- aov (Canopy ~ Wards, data = Canopy_Shrubs_Wet_Long)
summary (Anova_Canopy_Shrubs_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Wards        2    251  125.65   2.737 0.0713 .
## Residuals   75   3444   45.91                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Canopy_Trees_Wet <- subset(Canopy_Wet, Lifeform == "Tree")
view(Canopy_Trees_Wet)

#Canopy cover by tree species in Chepararia
sum(Canopy_Trees_Wet$Chepararia)
## [1] 167.5
#Total tree canopy cover in Chepararia = ~167.5%
Canopy_Trees_Chep_Wet <- (Canopy_Trees_Wet$Chepararia/167.5)*100
print(Canopy_Trees_Chep_Wet)
##  [1]  2.029851 16.716418  0.000000  4.059701  0.000000  8.656716 10.865672
##  [8]  7.880597 12.537313  0.000000 20.179104 10.746269  5.970149  0.000000
## [15]  0.358209  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
## [22]  0.000000  0.000000  0.000000
#Canopy cover by tree species in Riwo
sum(Canopy_Trees_Wet$Riwo)
## [1] 195.6
#Total tree canopy cover in Riwo = ~195.6%
Canopy_Trees_Riwo_Wet <- (Canopy_Trees_Wet$Riwo/195.6)*100
print(Canopy_Trees_Riwo_Wet)
##  [1]  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000 30.6748466
##  [7]  0.5112474  0.0000000 20.0920245  0.0000000 26.0224949  0.0000000
## [13]  0.0000000  0.0000000  0.0000000  3.5787321  0.0000000  6.1349693
## [19]  6.1349693  0.0000000  0.0000000  3.3742331  0.0000000  3.4764826
#Canopy cover by tree species in Suam
sum(Canopy_Trees_Wet$Suam)
## [1] 111.8
#Total tree canopy cover in Suam = ~111.8%
Canopy_Trees_Suam_Wet <- (Canopy_Trees_Wet$Suam/111.8)*100
print(Canopy_Trees_Suam_Wet)
##  [1]  0.0000000  0.0000000  7.0661896  0.0000000  4.1144902 15.1162791
##  [7]  0.0000000  0.0000000  8.9445438  8.9445438 13.4168157  7.4239714
## [13]  0.0000000  2.1466905  0.0000000  0.0000000  0.7155635  0.0000000
## [19]  0.0000000 13.1484794  8.9445438  0.0000000 10.0178891  0.0000000
# Creating a data frame of tree Canopy cover percentages across the three wards
Canopy_Trees_Wet <- data.frame(Canopy_Trees_Wet$Species, Canopy_Trees_Chep_Wet, Canopy_Trees_Riwo_Wet, Canopy_Trees_Suam_Wet)
print(Canopy_Trees_Wet)
##    Canopy_Trees_Wet.Species Canopy_Trees_Chep_Wet Canopy_Trees_Riwo_Wet
## 1      Acacia drepanolobium              2.029851             0.0000000
## 2          Acacia gerrardii             16.716418             0.0000000
## 3             Acacia hockii              0.000000             0.0000000
## 4              Acacia lahai              4.059701             0.0000000
## 5          Acacia mellifera              0.000000             0.0000000
## 6           Acacia nilotica              8.656716            30.6748466
## 7            Acacia senegal             10.865672             0.5112474
## 8           Acacia tortilis              7.880597             0.0000000
## 9             Albizia amara             12.537313            20.0920245
## 10    Albizia anthelmintica              0.000000             0.0000000
## 11     Balanites aegyptiaca             20.179104            26.0224949
## 12          Boscia coriacea             10.746269             0.0000000
## 13     Croton macrostachyus              5.970149             0.0000000
## 14    Euphorbia candelabrum              0.000000             0.0000000
## 15        Gravillea robusta              0.358209             0.0000000
## 16             Lannea fulva              0.000000             3.5787321
## 17 Ormocarpum trichorcarpum              0.000000             0.0000000
## 18       Sclerocarya birrea              0.000000             6.1349693
## 19        Tamarindus indica              0.000000             6.1349693
## 20           Teclea nobilis              0.000000             0.0000000
## 21       Terminalia brownii              0.000000             0.0000000
## 22       Vangueria infausta              0.000000             3.3742331
## 23    Zanthoxylum chalybeum              0.000000             0.0000000
## 24      Ziziphus abyssinica              0.000000             3.4764826
##    Canopy_Trees_Suam_Wet
## 1              0.0000000
## 2              0.0000000
## 3              7.0661896
## 4              0.0000000
## 5              4.1144902
## 6             15.1162791
## 7              0.0000000
## 8              0.0000000
## 9              8.9445438
## 10             8.9445438
## 11            13.4168157
## 12             7.4239714
## 13             0.0000000
## 14             2.1466905
## 15             0.0000000
## 16             0.0000000
## 17             0.7155635
## 18             0.0000000
## 19             0.0000000
## 20            13.1484794
## 21             8.9445438
## 22             0.0000000
## 23            10.0178891
## 24             0.0000000
# Renaming the column names of the dataframe
colnames(Canopy_Trees_Wet) <- c ("Tree Species", "Chepararia", "Riwo", "Suam")
print(Canopy_Trees_Wet)
##                Tree Species Chepararia       Riwo       Suam
## 1      Acacia drepanolobium   2.029851  0.0000000  0.0000000
## 2          Acacia gerrardii  16.716418  0.0000000  0.0000000
## 3             Acacia hockii   0.000000  0.0000000  7.0661896
## 4              Acacia lahai   4.059701  0.0000000  0.0000000
## 5          Acacia mellifera   0.000000  0.0000000  4.1144902
## 6           Acacia nilotica   8.656716 30.6748466 15.1162791
## 7            Acacia senegal  10.865672  0.5112474  0.0000000
## 8           Acacia tortilis   7.880597  0.0000000  0.0000000
## 9             Albizia amara  12.537313 20.0920245  8.9445438
## 10    Albizia anthelmintica   0.000000  0.0000000  8.9445438
## 11     Balanites aegyptiaca  20.179104 26.0224949 13.4168157
## 12          Boscia coriacea  10.746269  0.0000000  7.4239714
## 13     Croton macrostachyus   5.970149  0.0000000  0.0000000
## 14    Euphorbia candelabrum   0.000000  0.0000000  2.1466905
## 15        Gravillea robusta   0.358209  0.0000000  0.0000000
## 16             Lannea fulva   0.000000  3.5787321  0.0000000
## 17 Ormocarpum trichorcarpum   0.000000  0.0000000  0.7155635
## 18       Sclerocarya birrea   0.000000  6.1349693  0.0000000
## 19        Tamarindus indica   0.000000  6.1349693  0.0000000
## 20           Teclea nobilis   0.000000  0.0000000 13.1484794
## 21       Terminalia brownii   0.000000  0.0000000  8.9445438
## 22       Vangueria infausta   0.000000  3.3742331  0.0000000
## 23    Zanthoxylum chalybeum   0.000000  0.0000000 10.0178891
## 24      Ziziphus abyssinica   0.000000  3.4764826  0.0000000
view(Canopy_Trees_Wet)

# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Canopy_Trees_Wet_Long <- Canopy_Trees_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Canopy")
print(Canopy_Trees_Wet_Long)
## # A tibble: 72 × 3
##    `Tree Species`       Wards      Canopy
##    <chr>                <chr>       <dbl>
##  1 Acacia drepanolobium Chepararia   2.03
##  2 Acacia drepanolobium Riwo         0   
##  3 Acacia drepanolobium Suam         0   
##  4 Acacia gerrardii     Chepararia  16.7 
##  5 Acacia gerrardii     Riwo         0   
##  6 Acacia gerrardii     Suam         0   
##  7 Acacia hockii        Chepararia   0   
##  8 Acacia hockii        Riwo         0   
##  9 Acacia hockii        Suam         7.07
## 10 Acacia lahai         Chepararia   4.06
## # … with 62 more rows
# Anova analysis assess the impact of land use on tree canopy cover during the wet season
Anova_Canopy_Trees_Wet <- aov (Canopy ~ Wards, data = Canopy_Trees_Wet_Long)
summary (Anova_Canopy_Trees_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0    0.00       0      1
## Residuals   69   3203   46.42
#6. BIOMASS PRODUCTION
#Import the biomass dataset
Biomass_Wet <- read_xlsx("WP_Vegetation.xlsx", sheet = 9)
print(Biomass_Wet)
## # A tibble: 4 × 4
##   Lifeform                        Chepararia  Riwo  Suam
##   <chr>                                <dbl> <dbl> <dbl>
## 1 Grasses( Dry weight)               1330      750   920
## 2 Forbs(Dry weight)                   245      395   230
## 3 Total Biomass(g)                   1575     1145  1150
## 4 Area of the Quadrat (0.5m*0.5m)       0.25    NA    NA
#Samples were collected in 2 sampling points in each of the wards. To get an average of the biomass sample weight per ward, the sample weights are divided by 2. 
Biomass_Wet <- Biomass_Wet %>% 
  slice(1:3)
print(Biomass_Wet)
## # A tibble: 3 × 4
##   Lifeform             Chepararia  Riwo  Suam
##   <chr>                     <dbl> <dbl> <dbl>
## 1 Grasses( Dry weight)       1330   750   920
## 2 Forbs(Dry weight)           245   395   230
## 3 Total Biomass(g)           1575  1145  1150
Biomass_Wet_Chep <- (Biomass_Wet$Chepararia/2)
print(Biomass_Wet_Chep)
## [1] 665.0 122.5 787.5
Biomass_Wet_Riwo <- (Biomass_Wet$Riwo/2)
print(Biomass_Wet_Riwo)
## [1] 375.0 197.5 572.5
Biomass_Wet_Suam <- (Biomass_Wet$Suam/2)
print(Biomass_Wet_Suam)
## [1] 460 115 575
Biomass_Prod_Wet <- data.frame (Biomass_Wet$Lifeform, Biomass_Wet_Chep, Biomass_Wet_Riwo, Biomass_Wet_Suam)
print(Biomass_Prod_Wet)
##   Biomass_Wet.Lifeform Biomass_Wet_Chep Biomass_Wet_Riwo Biomass_Wet_Suam
## 1 Grasses( Dry weight)            665.0            375.0              460
## 2    Forbs(Dry weight)            122.5            197.5              115
## 3     Total Biomass(g)            787.5            572.5              575
#To then approximate biomass production in tonnes per hectare, the sample weights will be divided by the area of the quadrat (0.25) then multiplied by 10,000m2 to convert to hectares, then divided by 1,000,000 to convert to tonnes - giving weight in tonnes/ha
Biomass_Wet_Chep <- ((Biomass_Prod_Wet$Biomass_Wet_Chep /0.25 *10000)/1000000)
print(Biomass_Wet_Chep)
## [1] 26.6  4.9 31.5
Biomass_Wet_Riwo <- ((Biomass_Prod_Wet$Biomass_Wet_Riwo/0.25*10000)/1000000)
print(Biomass_Wet_Riwo)
## [1] 15.0  7.9 22.9
Biomass_Wet_Suam <- ((Biomass_Prod_Wet$Biomass_Wet_Suam/0.25*10000)/1000000)
print(Biomass_Wet_Suam)
## [1] 18.4  4.6 23.0
# Creating a data frame of tree Canopy cover percentages across the three wards
Biomass_Wet_WP <- data.frame( 
  Lifeform <- c("Grasses", "Forbs", "Total Biomass"), Biomass_Wet_Chep, Biomass_Wet_Riwo, Biomass_Wet_Suam)
print(Biomass_Wet_WP)
##   Lifeform....c..Grasses....Forbs....Total.Biomass.. Biomass_Wet_Chep
## 1                                            Grasses             26.6
## 2                                              Forbs              4.9
## 3                                      Total Biomass             31.5
##   Biomass_Wet_Riwo Biomass_Wet_Suam
## 1             15.0             18.4
## 2              7.9              4.6
## 3             22.9             23.0
# Renaming the column names of the dataframe
colnames(Biomass_Wet_WP) <- c ("Lifeform", "Chepararia", "Riwo", "Suam")
print(Biomass_Wet_WP)
##        Lifeform Chepararia Riwo Suam
## 1       Grasses       26.6 15.0 18.4
## 2         Forbs        4.9  7.9  4.6
## 3 Total Biomass       31.5 22.9 23.0
View(Biomass_Wet_WP)

# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Biomass_Wet_WP_Long <- Biomass_Prod_Wet %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Biomass")
print(Biomass_Wet_WP_Long)
## # A tibble: 9 × 3
##   Biomass_Wet.Lifeform Wards            Biomass
##   <chr>                <chr>              <dbl>
## 1 Grasses( Dry weight) Biomass_Wet_Chep    665 
## 2 Grasses( Dry weight) Biomass_Wet_Riwo    375 
## 3 Grasses( Dry weight) Biomass_Wet_Suam    460 
## 4 Forbs(Dry weight)    Biomass_Wet_Chep    122.
## 5 Forbs(Dry weight)    Biomass_Wet_Riwo    198.
## 6 Forbs(Dry weight)    Biomass_Wet_Suam    115 
## 7 Total Biomass(g)     Biomass_Wet_Chep    788.
## 8 Total Biomass(g)     Biomass_Wet_Riwo    572.
## 9 Total Biomass(g)     Biomass_Wet_Suam    575
# Anova analysis assess the impact of land use on tree canopy cover during the wet season
Anova_Biomass_Wet_WP <- aov (Biomass ~ Wards, data = Biomass_Wet_WP_Long)
summary (Anova_Biomass_Wet_WP)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2  40617   20308    0.28  0.765
## Residuals    6 435508   72585
#7. FREQUENCY
Frequency_Wet <- read_xlsx("WP_Vegetation.xlsx", sheet = 1)
view(Frequency_Wet)

# The dataset contains grass, forb, shrub, and tree species identified in 24 quadrats laid within sampling points across different 3 wards of West Pokot County.
# Presence of a species within a quadrat is denoted by the species count. 
# The total number of individual species in a ward is calculated and recorded as "Total number of individuals", as well as the total count of quadrats containing the species, represented as "Quadrat Count".
# Frequency percentage = (Quadrat Count/Total number of quadrats (24)) * 100

Species_Frequency_Wet <- Frequency_Wet %>%
  mutate (Frequency_Wet, (Frequency_Wet$`Quadrat Count`/24)*100)
view(Species_Frequency_Wet)

Species_Frequency_Wet <- Species_Frequency_Wet %>%
  rename_at(30, ~ "Frequency")
view(Species_Frequency_Wet)

# Sub-setting the frequency data for grasses from the Species_Frequency dataset
Frequency_Grasses_Wet <- subset(Species_Frequency_Wet, Lifeform == "Grass")
view(Frequency_Grasses_Wet)

# Anova analysis assess the impact of land use on Grasses frequency during the wet season
Anova_Frequency_Grasses_Wet <- aov (Frequency ~ Ward, data = Frequency_Grasses_Wet)
summary(Anova_Frequency_Grasses_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2     46   23.18   0.083  0.921
## Residuals   37  10349  279.70
# Sub-setting the frequency data for forbs from the Species_Frequency dataset
Frequency_Forbs_Wet <- subset(Species_Frequency_Wet, Lifeform == "Forb")
view(Frequency_Forbs_Wet)

# Anova analysis assess the impact of land use on Forbs frequency during the wet season
Anova_Frequency_Forbs_Wet <- aov (Frequency ~ Ward, data = Frequency_Forbs_Wet)
summary(Anova_Frequency_Forbs_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2  167.9   83.97   1.424  0.256
## Residuals   32 1887.6   58.99
# Sub-setting the frequency data for Shrubs from the Species_Frequency dataset
Frequency_Shrubs_Wet <- subset(Species_Frequency_Wet, Lifeform == "Shrub")
view(Frequency_Shrubs_Wet)

# Anova analysis assess the impact of land use on Shrubs frequency during the wet season
Anova_Frequency_Shrubs_Wet <- aov (Frequency ~ Ward, data = Frequency_Shrubs_Wet)
summary(Anova_Frequency_Shrubs_Wet)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Ward         2   1927   963.7   6.078 0.00336 **
## Residuals   89  14112   158.6                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Sub-setting the frequency data for Trees from the Species_Frequency dataset
Frequency_Trees_Wet <- subset(Species_Frequency_Wet, Lifeform == "Tree")
view(Frequency_Trees_Wet)

# Anova analysis assess the impact of land use on trees frequency during the wet season
Anova_Frequency_Trees_Wet <- aov (Frequency ~ Ward, data = Frequency_Trees_Wet)
summary(Anova_Frequency_Trees_Wet)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2     75   37.36   0.152  0.859
## Residuals   70  17179  245.42
# B. DRY SEASON
# 1. Frequency
Frequency_Dry <- read_xlsx("WP_Vegetation.xlsx", sheet = 2)
View(Frequency_Dry)

Species_Frequency_Dry <- Frequency_Dry %>%
  mutate(Frequency_Dry, (Frequency_Dry$`Quadrat Count`/24 *100))
view(Species_Frequency_Dry)

Species_Frequency_Dry <- Species_Frequency_Dry %>%
  rename_at(30, ~ "Frequency")
view(Species_Frequency_Dry)

# Sub-setting the frequency data for grasses from the Species_Frequency_Dry dataset
Frequency_Grasses_Dry <- subset(Species_Frequency_Dry, Lifeform == "Grass")
view(Frequency_Grasses_Dry)

# Anova analysis assess the impact of land use on Grasses frequency during the wet season
Anova_Frequency_Grasses_Dry <- aov (Frequency ~ Ward, data = Frequency_Grasses_Dry)
summary(Anova_Frequency_Grasses_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2    196   97.96   0.434  0.653
## Residuals   23   5197  225.97
# Sub-setting the frequency data for forbs from the Species_Frequency_Dry dataset
Frequency_Forbs_Dry <- subset(Species_Frequency_Dry, Lifeform == "Forb")
view(Frequency_Forbs_Dry)

# Anova analysis assess the impact of land use on Forbs frequency during the wet season
Anova_Frequency_Forbs_Dry <- aov (Frequency ~ Ward, data = Frequency_Forbs_Dry)
summary(Anova_Frequency_Forbs_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2   21.1   10.55   0.773  0.482
## Residuals   13  177.5   13.65
# Sub-setting the frequency data for Shrubs from the Species_Frequency_Dry dataset
Frequency_Shrubs_Dry <- subset(Species_Frequency_Dry, Lifeform == "Shrub")
view(Frequency_Shrubs_Dry)

# Anova analysis assess the impact of land use on Shrubs frequency during the wet season
Anova_Frequency_Shrubs_Dry <- aov (Frequency ~ Ward, data = Frequency_Shrubs_Dry)
summary(Anova_Frequency_Shrubs_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2    176   88.16   0.706  0.497
## Residuals   75   9369  124.92
# Sub-setting the frequency data for Trees from the Species_Frequency_Dry dataset
Frequency_Trees_Dry <- subset(Species_Frequency_Dry, Lifeform == "Tree")
view(Frequency_Trees_Dry)

# Anova analysis assess the impact of land use on trees frequency during the wet season
Anova_Frequency_Trees_Dry <- aov (Frequency ~ Ward, data = Frequency_Trees_Dry)
summary(Anova_Frequency_Trees_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Ward         2      7    3.63   0.014  0.986
## Residuals   65  16918  260.27
# 2. SPECIES DIVERSITY
# Calculating the dry season species diversity index using the Shannon-Weiner index in the 'vegan' package.
library(readxl)
library(vegan)

Quadrat_Dry <- read_xlsx("WP_Vegetation.xlsx", sheet = 4)
View(Quadrat_Dry)

Grasses_Dry <- Quadrat_Dry [Quadrat_Dry$Lifeform == "Grass",]
view(Grasses_Dry)

# Diversity index of grasses in Chepararia, Riwo and Suam during the wet season
# Calculating the diversity index of Grasses in Chepararia
Grass_Diversity_Dry_Chep <- diversity (Grasses_Dry$Chepararia, index = "shannon")
print(Grass_Diversity_Dry_Chep)
## [1] 1.629261
# Calculating the diversity index of Grasses in Riwo
Grass_Diversity_Dry_Riwo <- diversity(Grasses_Dry$Riwo, index = "shannon")
print(Grass_Diversity_Dry_Riwo)
## [1] 1.479434
# Calculating the diversity index of Grasses in Suam
Grass_Diversity_Dry_Suam <- diversity(Grasses_Dry$Suam, index = "shannon")
print(Grass_Diversity_Dry_Suam)
## [1] 1.235784
# Diversity index of Forbs in Chepareria, Riwo and Suam during the wet season
Forbs_Dry <- Quadrat_Dry %>%
  filter(Lifeform == "Forb") %>%
  select(-Habit)
view(Forbs_Dry)

# Calculating the diversity index of Forbs in Chepararia
Forb_Diversity_Dry_Chep <- diversity(Forbs_Dry$Chepararia, index = "shannon")
print(Forb_Diversity_Dry_Chep)
## [1] 1.406851
# Calculating the diversity index of Forbs in Riwo
Forb_Diversity_Dry_Riwo <- diversity(Forbs_Dry$Riwo, index = "shannon")
print(Forb_Diversity_Dry_Riwo)
## [1] 0.840778
# Calculating the diversity index of Forbs in Suam
Forb_Diversity_Dry_Suam <- diversity(Forbs_Dry$Suam, index = "shannon")
print(Forb_Diversity_Dry_Suam)
## [1] 1.427361
# Diversity index of Shrubs in Chepareria, Riwo and Suam during the wet season
Shrubs_Dry <- Quadrat_Dry %>%
  filter(Lifeform == "Shrub") %>%
  select(-Habit)
View(Shrubs_Dry)

# Calculating the diversity index of Shrubs in Chepararia
Shrub_Diversity_Dry_Chep <- diversity(Shrubs_Dry$Chepararia, index = "shannon")
print(Shrub_Diversity_Dry_Chep)
## [1] 2.604089
# Calculating the diversity index of Shrubs in Riwo
Shrub_Diversity_Dry_Riwo <- diversity(Shrubs_Dry$Riwo, index = "shannon")
print(Shrub_Diversity_Dry_Riwo)
## [1] 1.222082
# Calculating the diversity index of Shrubs in Suam
Shrub_Diversity_Dry_Suam <- diversity(Shrubs_Dry$Suam, index = "shannon")
print(Shrub_Diversity_Dry_Suam)
## [1] 2.141341
# Diversity index of Trees in Chepararia, Riwo and Suam during the wet season
Trees_Dry <- Quadrat_Dry %>%
  filter(Lifeform == "Tree") %>%
  select(-Habit)
View (Trees_Dry)

# Calculating the diversity index of Trees in Chepararia
Tree_Diversity_Dry_Chep <- diversity(Trees_Dry$Chepararia, index = "shannon")
print(Tree_Diversity_Dry_Chep)
## [1] 2.584102
# Calculating the diversity index of Trees in Riwo
Tree_Diversity_Dry_Riwo <- diversity(Trees_Dry$Riwo, index = "shannon")
print(Tree_Diversity_Dry_Riwo)
## [1] 1.541546
# Calculating the diversity index of Trees in Suam
Tree_Diversity_Dry_Suam <- diversity(Trees_Dry$Suam, index = "shannon")
print(Tree_Diversity_Dry_Suam)
## [1] 1.85344
# Create a data frame of the dry season diversity indexes of all the lifeforms across the three wards.
Diversity_Dry_Chepararia <- c (Grass_Diversity_Dry_Chep, Forb_Diversity_Dry_Chep, Shrub_Diversity_Dry_Chep, Tree_Diversity_Dry_Chep)
Diversity_Dry_Riwo <- c (Grass_Diversity_Dry_Riwo, Forb_Diversity_Dry_Riwo, Shrub_Diversity_Dry_Riwo, Tree_Diversity_Dry_Riwo)
Diversity_Dry_Suam <- c (Grass_Diversity_Dry_Suam, Forb_Diversity_Dry_Suam, Shrub_Diversity_Dry_Suam, Tree_Diversity_Dry_Suam)

Species_Diversity_Dry <- data.frame(Lifeforms, Diversity_Dry_Chepararia, Diversity_Dry_Riwo, Diversity_Dry_Suam)
print(Species_Diversity_Dry)
##   Lifeforms Diversity_Dry_Chepararia Diversity_Dry_Riwo Diversity_Dry_Suam
## 1   Grasses                 1.629261           1.479434           1.235784
## 2     Forbs                 1.406851           0.840778           1.427361
## 3    Shrubs                 2.604089           1.222082           2.141341
## 4     Trees                 2.584102           1.541546           1.853440
colnames(Species_Diversity_Dry) <- c("Lifeforms", "Chepararia", "Riwo", "Suam")
print(Species_Diversity_Dry)
##   Lifeforms Chepararia     Riwo     Suam
## 1   Grasses   1.629261 1.479434 1.235784
## 2     Forbs   1.406851 0.840778 1.427361
## 3    Shrubs   2.604089 1.222082 2.141341
## 4     Trees   2.584102 1.541546 1.853440
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
library(tidyverse)
Species_Diversity_Dry_Long <- Species_Diversity_Dry %>%
  pivot_longer(cols = c("Chepararia", "Riwo", "Suam"), names_to = "Wards", values_to = "Diversity")
print(Species_Diversity_Wet_Long)
## # A tibble: 12 × 3
##    Lifeforms Wards      Diversity
##    <chr>     <chr>          <dbl>
##  1 Grasses   Chepararia      2.03
##  2 Grasses   Riwo            2.33
##  3 Grasses   Suam            1.80
##  4 Forb      Chepararia      1.91
##  5 Forb      Riwo            2.28
##  6 Forb      Suam            1.58
##  7 Shrubs    Chepararia      2.35
##  8 Shrubs    Riwo            2.12
##  9 Shrubs    Suam            2.43
## 10 Trees     Chepararia      2.48
## 11 Trees     Riwo            2.37
## 12 Trees     Suam            2.15
# ANOVA to assess variations in species diversity among the three wards during the dry season
Anova_Diversity_Dry <- aov (Diversity ~ Wards, data = Species_Diversity_Dry_Long)
summary(Anova_Diversity_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2  1.233  0.6164   2.788  0.114
## Residuals    9  1.990  0.2211
ggplot(data = Species_Diversity_Dry_Long, 
       mapping = aes(x = Wards, 
                     y = Diversity, fill = Lifeforms)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Dry Season Species Diversity in Wards of West Pokot County",
       x = "Wards",
       y = "Diversity Index",
       fill = "Life Forms") +
  theme_minimal()

# 3. DENSITY OF SPECIES
# Species density (Individuals/ha) = Total number of Identified Species/Total Sample Plot Area * 10,000m2. 
# The sample plot for grasses and forbs measured 0.5m*0.5m = 0.25m2, shrubs measured 5m*5m= 25m2, and trees were sampled within a 10m*10m quadrat = 100m2.
# The Quadrat_Dry dataset will be used.

# 3.1 Density of grass species across the three wards
# Density of grasses in Chepararia during the dry season
Density_Grasses_Dry_Chep <- Grasses_Dry$Chepararia/0.25 *10000
print(Density_Grasses_Dry_Chep)
##  [1]  120000  160000   40000 6120000       0  120000 1160000  880000 2480000
## [10]   80000   40000       0       0   40000       0 2200000       0   80000
## [19]   80000       0
# Density of grasses in Riwo during the dry season
Density_Grasses_Dry_Riwo <- Grasses_Dry$Riwo/0.25 * 10000
print(Density_Grasses_Dry_Riwo)
##  [1]       0  200000       0 3880000       0       0  440000       0 3120000
## [10]   40000       0  120000   80000       0  280000       0 1160000       0
## [19]       0   80000
# Density of grasses in Suam during the dry season
Density_Grasses_Dry_Suam <- Grasses_Dry$Suam/0.25 * 10000
print(Density_Grasses_Dry_Suam)
##  [1]       0  120000       0  280000  120000       0 1960000       0  280000
## [10]       0       0       0  400000       0       0       0       0       0
## [19]       0       0
# Create a data frame of the wet season densities of Grasses across the three Wards (Land use systems)
Density_Grasses_Dry <- data.frame(Grasses_Dry$Species, Density_Grasses_Dry_Chep, Density_Grasses_Dry_Riwo, Density_Grasses_Dry_Suam)
View(Density_Grasses_Dry)
colnames(Density_Grasses_Dry) <- c ("Grass species", "Chepararia", "Riwo", "Suam")
print(Density_Grasses_Dry)
##               Grass species Chepararia    Riwo    Suam
## 1         Aristida adoensis     120000       0       0
## 2    Aristida adonseniensis     160000  200000  120000
## 3        Aristida keniensis      40000       0       0
## 4    Bothriochloa insculpta    6120000 3880000  280000
## 5        Brachiaria deflexa          0       0  120000
## 6  Cenchrus pennisetiformis     120000       0       0
## 7        Chloris pycnothrix    1160000  440000 1960000
## 8    Chrysopogon plumulosus     880000       0       0
## 9          Cynodon dactylon    2480000 3120000  280000
## 10       Digitaria velutina      80000   40000       0
## 11          Eleusine indica      40000       0       0
## 12      Eragrostis ciliaris          0  120000       0
## 13      Eragrostis congesta          0   80000  400000
## 14       Eragrostis superba      40000       0       0
## 15      Harpachne schimperi          0  280000       0
## 16    Heteropogon contortus    2200000       0       0
## 17         Microcloa kunthi          0 1160000       0
## 18           Melinis repens      80000       0       0
## 19   Sporobolus pyramidalis      80000       0       0
## 20    Tetrapogon spathecius          0   80000       0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package (Tidyverse was already previously loaded onto R)
Density_Grasses_Dry_Long <- Density_Grasses_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Grasses_Dry_Long)
## # A tibble: 60 × 3
##    `Grass species`        Wards      Density
##    <chr>                  <chr>        <dbl>
##  1 Aristida adoensis      Chepararia  120000
##  2 Aristida adoensis      Riwo             0
##  3 Aristida adoensis      Suam             0
##  4 Aristida adonseniensis Chepararia  160000
##  5 Aristida adonseniensis Riwo        200000
##  6 Aristida adonseniensis Suam        120000
##  7 Aristida keniensis     Chepararia   40000
##  8 Aristida keniensis     Riwo             0
##  9 Aristida keniensis     Suam             0
## 10 Bothriochloa insculpta Chepararia 6120000
## # … with 50 more rows
# Anova analysis assess the impact of land use on grass species density during the wet season
Anova_Density_Grasses_Dry <- aov (Density ~ Wards, data = Density_Grasses_Dry_Long)
summary (Anova_Density_Grasses_Dry)
##             Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards        2 2.760e+12 1.380e+12   1.171  0.317
## Residuals   57 6.714e+13 1.178e+12
# Density of Forbs across the three wards
# Density of Forbs in Chepararia during the dry season
Density_Forbs_Dry_Chep <- Forbs_Dry$Chepararia/0.25 *10000
print(Density_Forbs_Dry_Chep)
##  [1]  120000   40000   40000       0       0   40000   40000   80000 1440000
## [10]       0  160000       0  720000       0   40000
# Density of Forbs in Riwo during the dry season
Density_Forbs_Dry_Riwo <- Forbs_Dry$Riwo/0.25 *10000
print(Density_Forbs_Dry_Riwo)
##  [1]       0       0       0       0       0       0       0   80000  360000
## [10]   40000       0  280000       0 2280000       0
# Density of Forbs in Suam during the dry season
Density_Forbs_Dry_Suam <- Forbs_Dry$Suam/0.25 * 10000
print(Density_Forbs_Dry_Suam)
##  [1]      0      0      0  40000  80000      0      0 480000  80000      0
## [11]  80000      0      0 280000      0
# Create a data frame of the wet season densities of Forbs across the three Wards (Land use systems)
Density_Forbs_Dry <- data.frame(Forbs_Dry$Species, Density_Forbs_Dry_Chep, Density_Forbs_Dry_Riwo, Density_Forbs_Dry_Suam)
print(Density_Forbs_Dry)
##         Forbs_Dry.Species Density_Forbs_Dry_Chep Density_Forbs_Dry_Riwo
## 1      Achyranthes aspera                 120000                      0
## 2       Amaranth deflexas                  40000                      0
## 3  Blepharis integrifolia                  40000                      0
## 4       Caralluma dummeri                      0                      0
## 5         Clabea velutina                      0                      0
## 6  Commelina benghalensis                  40000                      0
## 7      Indigofera specata                  40000                      0
## 8    Kalanchoe lanceolata                  80000                  80000
## 9      Leonoitis molicima                1440000                 360000
## 10  Pentanisia ouranogyne                      0                  40000
## 11 Richardia brasiliensis                 160000                      0
## 12         Ruellia patula                      0                 280000
## 13          Sonchus asper                 720000                      0
## 14 Stylosanthes fruticosa                      0                2280000
## 15 Trichodesma zeylanicum                  40000                      0
##    Density_Forbs_Dry_Suam
## 1                       0
## 2                       0
## 3                       0
## 4                   40000
## 5                   80000
## 6                       0
## 7                       0
## 8                  480000
## 9                   80000
## 10                      0
## 11                  80000
## 12                      0
## 13                      0
## 14                 280000
## 15                      0
colnames(Density_Forbs_Dry) <- c("Forb Species", "Chepararia", "Riwo", "Suam")
print(Density_Forbs_Dry)
##              Forb Species Chepararia    Riwo   Suam
## 1      Achyranthes aspera     120000       0      0
## 2       Amaranth deflexas      40000       0      0
## 3  Blepharis integrifolia      40000       0      0
## 4       Caralluma dummeri          0       0  40000
## 5         Clabea velutina          0       0  80000
## 6  Commelina benghalensis      40000       0      0
## 7      Indigofera specata      40000       0      0
## 8    Kalanchoe lanceolata      80000   80000 480000
## 9      Leonoitis molicima    1440000  360000  80000
## 10  Pentanisia ouranogyne          0   40000      0
## 11 Richardia brasiliensis     160000       0  80000
## 12         Ruellia patula          0  280000      0
## 13          Sonchus asper     720000       0      0
## 14 Stylosanthes fruticosa          0 2280000 280000
## 15 Trichodesma zeylanicum      40000       0      0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package (Tidyverse was already previously loaded onto R)
Density_Forbs_Dry_Long <- Density_Forbs_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Forbs_Dry_Long)
## # A tibble: 45 × 3
##    `Forb Species`         Wards      Density
##    <chr>                  <chr>        <dbl>
##  1 Achyranthes aspera     Chepararia  120000
##  2 Achyranthes aspera     Riwo             0
##  3 Achyranthes aspera     Suam             0
##  4 Amaranth deflexas      Chepararia   40000
##  5 Amaranth deflexas      Riwo             0
##  6 Amaranth deflexas      Suam             0
##  7 Blepharis integrifolia Chepararia   40000
##  8 Blepharis integrifolia Riwo             0
##  9 Blepharis integrifolia Suam             0
## 10 Caralluma dummeri      Chepararia       0
## # … with 35 more rows
# Anova analysis assess the impact of land use on grass species density during the wet season
Anova_Density_Forbs_Dry <- aov (Density ~ Wards, data = Density_Forbs_Dry_Long)
summary (Anova_Density_Forbs_Dry)
##             Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards        2 1.539e+11 7.694e+10   0.448  0.642
## Residuals   42 7.209e+12 1.716e+11
# Density of Shrubs across the three wards
# Density of Shrubs in Chepararia during the dry season
Density_Shrubs_Dry_Chep <- Shrubs_Dry$Chepararia/25 * 10000
print(Density_Shrubs_Dry_Chep)
##  [1]   400     0  4800 15200   800     0   400   400   800 16400     0   400
## [13]   400     0 15600  2000     0     0 14000  3200     0  9200   400     0
## [25] 16000   800  6400     0     0  1600   400  8800  8000  1200 42800 15200
## [37]  1200     0   400
# Density of Shrubs in Riwo during the dry season
Density_Shrubs_Dry_Riwo <- Shrubs_Dry$Riwo/25 * 10000
print(Density_Shrubs_Dry_Riwo)
##  [1]      0      0    400   3600      0    400    400   3200    400   4000
## [11]  13600      0      0    400    400    800   1600   5600 198800   6800
## [21]   2400   2000      0    400      0      0   1600    400      0    800
## [31]      0   2000   4800   8400      0    400      0    400    400
# Density of Shrubs in Suam during the dry season
Density_Shrubs_Dry_Suam <- Shrubs_Dry$Suam/25 * 10000
print(Density_Shrubs_Dry_Suam)
##  [1]   6400  14800      0   6400      0      0  49200   2000      0  38400
## [11]      0      0      0      0   7600      0   1200      0 144400   3600
## [21]      0   4800      0   2800    800      0   8400      0 127200      0
## [31]      0  51200  22400      0      0  40800      0      0      0
# Create a data frame of the dry season densities of Shrubs across the three Wards (Land use systems)
Density_Shrubs_Dry <- data.frame(Shrubs_Dry$Species, Density_Shrubs_Dry_Chep, Density_Shrubs_Dry_Riwo, Density_Shrubs_Dry_Suam)
print(Density_Shrubs_Dry)
##          Shrubs_Dry.Species Density_Shrubs_Dry_Chep Density_Shrubs_Dry_Riwo
## 1         Acacia brevispica                     400                       0
## 2          Acacia reficiens                       0                       0
## 3         Achyranthes asper                    4800                     400
## 4                 Aloe vera                   15200                    3600
## 5       Asperagus racemocus                     800                       0
## 6       Asparagus africanus                       0                     400
## 7        Barleria prionitis                     400                     400
## 8      Caparis fascicularis                     400                    3200
## 9           Carisa spinarum                     800                     400
## 10      Ciccus rotundifolia                   16400                    4000
## 11     Combretum hereroenes                       0                   13600
## 12         Croton dicogamus                     400                       0
## 13          Euclea divinoum                     400                       0
## 14        Euphorbia gospina                       0                     400
## 15             Grewia tenax                   15600                     400
## 16            Grewia vilosa                    2000                     800
## 17        Grewia tricocarpa                       0                    1600
## 18     Harissonia abscinica                       0                    5600
## 19  Hypoestes verticillaris                   14000                  198800
## 20         Ipomea kituensis                    3200                    6800
## 21  Justicia declipteroides                       0                    2400
## 22           Lantana camara                    9200                    2000
## 23           Lipia javanica                     400                       0
## 24    Maytenus heterophylla                       0                     400
## 25             Osimum suave                   16000                       0
## 26        Ocimum tenuifolia                     800                       0
## 27 Ormocarpum trichorcarpum                    6400                    1600
## 28           Oncoba spinosa                       0                     400
## 29   Sanseveria herenbergii                       0                       0
## 30       Searsia natalensis                    1600                     800
## 31       Senna didymobotrya                     400                       0
## 32        Senna ocidentalis                    8800                    2000
## 33        Senna optusifolia                    8000                    4800
## 34         Senna senguiyana                    1200                    8400
## 35          Sida cuneifolia                   42800                       0
## 36          Solanum incanum                   15200                     400
## 37      Tagetes minutaflora                    1200                       0
## 38           Teclea nobilis                       0                     400
## 39        Ximenia americana                     400                     400
##    Density_Shrubs_Dry_Suam
## 1                     6400
## 2                    14800
## 3                        0
## 4                     6400
## 5                        0
## 6                        0
## 7                    49200
## 8                     2000
## 9                        0
## 10                   38400
## 11                       0
## 12                       0
## 13                       0
## 14                       0
## 15                    7600
## 16                       0
## 17                    1200
## 18                       0
## 19                  144400
## 20                    3600
## 21                       0
## 22                    4800
## 23                       0
## 24                    2800
## 25                     800
## 26                       0
## 27                    8400
## 28                       0
## 29                  127200
## 30                       0
## 31                       0
## 32                   51200
## 33                   22400
## 34                       0
## 35                       0
## 36                   40800
## 37                       0
## 38                       0
## 39                       0
colnames(Density_Shrubs_Dry) <- c("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Density_Shrubs_Dry)
##               Shrub Species Chepararia   Riwo   Suam
## 1         Acacia brevispica        400      0   6400
## 2          Acacia reficiens          0      0  14800
## 3         Achyranthes asper       4800    400      0
## 4                 Aloe vera      15200   3600   6400
## 5       Asperagus racemocus        800      0      0
## 6       Asparagus africanus          0    400      0
## 7        Barleria prionitis        400    400  49200
## 8      Caparis fascicularis        400   3200   2000
## 9           Carisa spinarum        800    400      0
## 10      Ciccus rotundifolia      16400   4000  38400
## 11     Combretum hereroenes          0  13600      0
## 12         Croton dicogamus        400      0      0
## 13          Euclea divinoum        400      0      0
## 14        Euphorbia gospina          0    400      0
## 15             Grewia tenax      15600    400   7600
## 16            Grewia vilosa       2000    800      0
## 17        Grewia tricocarpa          0   1600   1200
## 18     Harissonia abscinica          0   5600      0
## 19  Hypoestes verticillaris      14000 198800 144400
## 20         Ipomea kituensis       3200   6800   3600
## 21  Justicia declipteroides          0   2400      0
## 22           Lantana camara       9200   2000   4800
## 23           Lipia javanica        400      0      0
## 24    Maytenus heterophylla          0    400   2800
## 25             Osimum suave      16000      0    800
## 26        Ocimum tenuifolia        800      0      0
## 27 Ormocarpum trichorcarpum       6400   1600   8400
## 28           Oncoba spinosa          0    400      0
## 29   Sanseveria herenbergii          0      0 127200
## 30       Searsia natalensis       1600    800      0
## 31       Senna didymobotrya        400      0      0
## 32        Senna ocidentalis       8800   2000  51200
## 33        Senna optusifolia       8000   4800  22400
## 34         Senna senguiyana       1200   8400      0
## 35          Sida cuneifolia      42800      0      0
## 36          Solanum incanum      15200    400  40800
## 37      Tagetes minutaflora       1200      0      0
## 38           Teclea nobilis          0    400      0
## 39        Ximenia americana        400    400      0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Density_Shrubs_Dry_Long <- Density_Shrubs_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Shrubs_Dry_Long)
## # A tibble: 117 × 3
##    `Shrub Species`   Wards      Density
##    <chr>             <chr>        <dbl>
##  1 Acacia brevispica Chepararia     400
##  2 Acacia brevispica Riwo             0
##  3 Acacia brevispica Suam          6400
##  4 Acacia reficiens  Chepararia       0
##  5 Acacia reficiens  Riwo             0
##  6 Acacia reficiens  Suam         14800
##  7 Achyranthes asper Chepararia    4800
##  8 Achyranthes asper Riwo           400
##  9 Achyranthes asper Suam             0
## 10 Aloe vera         Chepararia   15200
## # … with 107 more rows
# Anova analysis assess the impact of land use on Shrub species density during the dry season
Anova_Density_Shrubs_Dry <- aov (Density ~ Wards, data = Density_Shrubs_Dry_Long)
summary (Anova_Density_Shrubs_Dry)
##              Df    Sum Sq   Mean Sq F value Pr(>F)
## Wards         2 1.683e+09 841653333   1.203  0.304
## Residuals   114 7.974e+10 699511939
# Density of Trees across the three wards
# Density of Trees in Chepararia during the dry season
Density_Trees_Dry_Chep <- Trees_Dry$Chepararia/100 * 10000
print(Density_Trees_Dry_Chep)
##  [1] 1400 1500  600 2200 6000 3000  300  600  900    0  500  200 3600  200    0
## [16]  700  600 1000 6400    0    0    0  200 1500    0    0  200    0    0  100
## [31]    0    0    0    0 1000    0    0  300
# Density of Trees in Riwo during the dry season
Density_Trees_Dry_Riwo <- Trees_Dry$Riwo/100 * 10000
print(Density_Trees_Dry_Riwo)
##  [1]   200   100     0  1100 24500   600     0   100     0     0  5300     0
## [13]  7100     0     0     0     0     0   100   100     0     0     0   400
## [25]   500   300     0   100   200     0   100     0     0   400   400     0
## [37]   700  1200
# Density of Trees in Chepararia during the dry season
Density_Trees_Dry_Suam <- Trees_Dry$Suam/100*10000
print(Density_Trees_Dry_Suam)
##  [1]     0   100   100  2800 12800   300     0  1800     0   100   400   800
## [13]  2800   200   200   700     0     0   300     0   100   100     0   300
## [25]     0   300     0     0     0     0     0   300   200     0     0   400
## [37]     0     0
# Create a data frame of the dry season densities of Shrubs across the three Wards (Land use systems)
Density_Trees_Dry <- data.frame(Trees_Dry$Species, Density_Trees_Dry_Chep, Density_Trees_Dry_Riwo, Density_Trees_Dry_Suam)
print(Density_Trees_Dry)
##            Trees_Dry.Species Density_Trees_Dry_Chep Density_Trees_Dry_Riwo
## 1       Acacia drepanalobium                   1400                    200
## 2            Acacia gerardii                   1500                    100
## 3               Acacia lahai                    600                      0
## 4            Acacia melifera                   2200                   1100
## 5            Acacia nilotica                   6000                  24500
## 6             Acacia senegal                   3000                    600
## 7               Acacia seyal                    300                      0
## 8            Acacia tortilis                    600                    100
## 9  Acokanthera oppositifolia                    900                      0
## 10            Adenium obusum                      0                      0
## 11             Albizia amara                    500                   5300
## 12     Albizia antialmintica                    200                      0
## 13      Balanites aegyptiaca                   3600                   7100
## 14           Boscia coriacea                    200                      0
## 15        Boscia salicifolia                      0                      0
## 16       Commiphora africana                    700                      0
## 17      Croton macrostachyus                    600                      0
## 18       Croton megalocarpus                   1000                      0
## 19     Euphorbia candelabrum                   6400                    100
## 20           Fathabia albida                      0                    100
## 21         Flacourtia indica                      0                      0
## 22        Gardenia volkensii                      0                      0
## 23         Gravillea robusta                    200                      0
## 24            Grewia bicolor                   1500                    400
## 25         Grewia tricocarpa                      0                    500
## 26              Lannea falva                      0                    300
## 27            Lannea trifala                    200                      0
## 28    Piliostigma thonningii                      0                    100
## 29        Sclerocarya birrea                      0                    200
## 30           Sesbania sesban                    100                      0
## 31         Tamarindus indica                      0                    100
## 32            Teclea nobilis                      0                      0
## 33        Terminalia brownii                      0                      0
## 34     Terminalia prunioides                      0                    400
## 35        Vangueria infausta                   1000                    400
## 36     Zanthoxylum chalybeum                      0                      0
## 37       Ziziphus abyssinica                      0                    700
## 38        Ziziphus mucronata                    300                   1200
##    Density_Trees_Dry_Suam
## 1                       0
## 2                     100
## 3                     100
## 4                    2800
## 5                   12800
## 6                     300
## 7                       0
## 8                    1800
## 9                       0
## 10                    100
## 11                    400
## 12                    800
## 13                   2800
## 14                    200
## 15                    200
## 16                    700
## 17                      0
## 18                      0
## 19                    300
## 20                      0
## 21                    100
## 22                    100
## 23                      0
## 24                    300
## 25                      0
## 26                    300
## 27                      0
## 28                      0
## 29                      0
## 30                      0
## 31                      0
## 32                    300
## 33                    200
## 34                      0
## 35                      0
## 36                    400
## 37                      0
## 38                      0
colnames(Density_Trees_Dry) <- c("Tree Species", "Chepararia", "Riwo", "Suam")
print(Density_Trees_Dry)
##                 Tree Species Chepararia  Riwo  Suam
## 1       Acacia drepanalobium       1400   200     0
## 2            Acacia gerardii       1500   100   100
## 3               Acacia lahai        600     0   100
## 4            Acacia melifera       2200  1100  2800
## 5            Acacia nilotica       6000 24500 12800
## 6             Acacia senegal       3000   600   300
## 7               Acacia seyal        300     0     0
## 8            Acacia tortilis        600   100  1800
## 9  Acokanthera oppositifolia        900     0     0
## 10            Adenium obusum          0     0   100
## 11             Albizia amara        500  5300   400
## 12     Albizia antialmintica        200     0   800
## 13      Balanites aegyptiaca       3600  7100  2800
## 14           Boscia coriacea        200     0   200
## 15        Boscia salicifolia          0     0   200
## 16       Commiphora africana        700     0   700
## 17      Croton macrostachyus        600     0     0
## 18       Croton megalocarpus       1000     0     0
## 19     Euphorbia candelabrum       6400   100   300
## 20           Fathabia albida          0   100     0
## 21         Flacourtia indica          0     0   100
## 22        Gardenia volkensii          0     0   100
## 23         Gravillea robusta        200     0     0
## 24            Grewia bicolor       1500   400   300
## 25         Grewia tricocarpa          0   500     0
## 26              Lannea falva          0   300   300
## 27            Lannea trifala        200     0     0
## 28    Piliostigma thonningii          0   100     0
## 29        Sclerocarya birrea          0   200     0
## 30           Sesbania sesban        100     0     0
## 31         Tamarindus indica          0   100     0
## 32            Teclea nobilis          0     0   300
## 33        Terminalia brownii          0     0   200
## 34     Terminalia prunioides          0   400     0
## 35        Vangueria infausta       1000   400     0
## 36     Zanthoxylum chalybeum          0     0   400
## 37       Ziziphus abyssinica          0   700     0
## 38        Ziziphus mucronata        300  1200     0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Density_Trees_Dry_Long <- Density_Trees_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Density")
print(Density_Trees_Dry_Long)
## # A tibble: 114 × 3
##    `Tree Species`       Wards      Density
##    <chr>                <chr>        <dbl>
##  1 Acacia drepanalobium Chepararia    1400
##  2 Acacia drepanalobium Riwo           200
##  3 Acacia drepanalobium Suam             0
##  4 Acacia gerardii      Chepararia    1500
##  5 Acacia gerardii      Riwo           100
##  6 Acacia gerardii      Suam           100
##  7 Acacia lahai         Chepararia     600
##  8 Acacia lahai         Riwo             0
##  9 Acacia lahai         Suam           100
## 10 Acacia melifera      Chepararia    2200
## # … with 104 more rows
# Anova analysis assess the impact of land use on Shrub species density during the wet season
Anova_Density_Trees_Dry <- aov (Density ~ Wards, data = Density_Trees_Dry_Long)
summary (Anova_Density_Trees_Dry)
##              Df    Sum Sq Mean Sq F value Pr(>F)
## Wards         2   4484386 2242193    0.28  0.756
## Residuals   111 888206842 8001863
# SPECIES COMPOSITION
# Species Count
Quadrat_Dry %>% count(Lifeform == "Grass")
## # A tibble: 2 × 2
##   `Lifeform == "Grass"`     n
##   <lgl>                 <int>
## 1 FALSE                    92
## 2 TRUE                     20
Quadrat_Dry %>% count(Lifeform == "Forb")
## # A tibble: 2 × 2
##   `Lifeform == "Forb"`     n
##   <lgl>                <int>
## 1 FALSE                   97
## 2 TRUE                    15
Quadrat_Dry %>% count(Lifeform == "Shrub")
## # A tibble: 2 × 2
##   `Lifeform == "Shrub"`     n
##   <lgl>                 <int>
## 1 FALSE                    73
## 2 TRUE                     39
Quadrat_Dry %>% count(Lifeform == "Tree")
## # A tibble: 2 × 2
##   `Lifeform == "Tree"`     n
##   <lgl>                <int>
## 1 FALSE                   74
## 2 TRUE                    38
Lifeforms <- c ("Grasses", "Forbs", "Shrubs", "Trees")
Total_Count_Dry <- c(21,15,39,38)
Grasses_Dry %>% count(Grasses_Dry$Habit == "Increaser")
## # A tibble: 2 × 2
##   `Grasses_Dry$Habit == "Increaser"`     n
##   <lgl>                              <int>
## 1 FALSE                                  5
## 2 TRUE                                  15
Grasses_Dry %>% count(Grasses_Dry$Habit == "Decreaser")
## # A tibble: 2 × 2
##   `Grasses_Dry$Habit == "Decreaser"`     n
##   <lgl>                              <int>
## 1 FALSE                                 15
## 2 TRUE                                   5
Grasses_Habit <- c ("Increasers", "Decreasers")
Habits_Count_Dry <- c (16,5)
Grasses_Habit_Count_Dry <- data.frame(Grasses_Habit, Habits_Count_Dry)
print(Grasses_Habit_Count_Dry)
##   Grasses_Habit Habits_Count_Dry
## 1    Increasers               16
## 2    Decreasers                5
Increasers_Dry <- (16/(16+5))*100
print(Increasers_Dry)
## [1] 76.19048
Decreasers_Dry <- (5/(16+5)*100)
print(Decreasers_Dry)
## [1] 23.80952
percent_Habit_Count_Dry <- c(Increasers_Dry, Decreasers_Dry)
Grasses_Habit_Percent_Dry <- data.frame(Grasses_Habit_Count_Dry, percent_Habit_Count_Dry)
print(Grasses_Habit_Percent_Dry)
##   Grasses_Habit Habits_Count_Dry percent_Habit_Count_Dry
## 1    Increasers               16                76.19048
## 2    Decreasers                5                23.80952
# Percent Grass Species Composition
# Percent Grass species Composition in Chepararia during the dry season
sum(Grasses_Dry$Chepararia)
## [1] 340
Composition_Grasses_Dry_Chep <- (Grasses_Dry$Chepararia/340)*100
print(Composition_Grasses_Dry_Chep)
##  [1]  0.8823529  1.1764706  0.2941176 45.0000000  0.0000000  0.8823529
##  [7]  8.5294118  6.4705882 18.2352941  0.5882353  0.2941176  0.0000000
## [13]  0.0000000  0.2941176  0.0000000 16.1764706  0.0000000  0.5882353
## [19]  0.5882353  0.0000000
sum(Composition_Grasses_Dry_Chep)
## [1] 100
# Percent Grass species Composition in Riwo during the dry season
sum(Grasses_Dry$Riwo)
## [1] 235
Composition_Grasses_Dry_Riwo <- (Grasses_Dry$Riwo/235)*100
print(Composition_Grasses_Dry_Riwo)
##  [1]  0.0000000  2.1276596  0.0000000 41.2765957  0.0000000  0.0000000
##  [7]  4.6808511  0.0000000 33.1914894  0.4255319  0.0000000  1.2765957
## [13]  0.8510638  0.0000000  2.9787234  0.0000000 12.3404255  0.0000000
## [19]  0.0000000  0.8510638
sum(Composition_Grasses_Dry_Riwo)
## [1] 100
# Percent Grass species Composition in Suam during the dry season
sum(Grasses_Dry$Suam)
## [1] 79
Composition_Grasses_Dry_Suam <- (Grasses_Dry$Suam/79)*100
print(Composition_Grasses_Dry_Suam)
##  [1]  0.000000  3.797468  0.000000  8.860759  3.797468  0.000000 62.025316
##  [8]  0.000000  8.860759  0.000000  0.000000  0.000000 12.658228  0.000000
## [15]  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
sum(Composition_Grasses_Dry_Suam)
## [1] 100
# Creating a data frame of the percent grass species composition across the three wards.
Composition_Grasses_Dry <- data.frame(Grasses_Dry$Species, Composition_Grasses_Dry_Chep, Composition_Grasses_Dry_Riwo, Composition_Grasses_Dry_Suam)
print(Composition_Grasses_Dry)
##         Grasses_Dry.Species Composition_Grasses_Dry_Chep
## 1         Aristida adoensis                    0.8823529
## 2    Aristida adonseniensis                    1.1764706
## 3        Aristida keniensis                    0.2941176
## 4    Bothriochloa insculpta                   45.0000000
## 5        Brachiaria deflexa                    0.0000000
## 6  Cenchrus pennisetiformis                    0.8823529
## 7        Chloris pycnothrix                    8.5294118
## 8    Chrysopogon plumulosus                    6.4705882
## 9          Cynodon dactylon                   18.2352941
## 10       Digitaria velutina                    0.5882353
## 11          Eleusine indica                    0.2941176
## 12      Eragrostis ciliaris                    0.0000000
## 13      Eragrostis congesta                    0.0000000
## 14       Eragrostis superba                    0.2941176
## 15      Harpachne schimperi                    0.0000000
## 16    Heteropogon contortus                   16.1764706
## 17         Microcloa kunthi                    0.0000000
## 18           Melinis repens                    0.5882353
## 19   Sporobolus pyramidalis                    0.5882353
## 20    Tetrapogon spathecius                    0.0000000
##    Composition_Grasses_Dry_Riwo Composition_Grasses_Dry_Suam
## 1                     0.0000000                     0.000000
## 2                     2.1276596                     3.797468
## 3                     0.0000000                     0.000000
## 4                    41.2765957                     8.860759
## 5                     0.0000000                     3.797468
## 6                     0.0000000                     0.000000
## 7                     4.6808511                    62.025316
## 8                     0.0000000                     0.000000
## 9                    33.1914894                     8.860759
## 10                    0.4255319                     0.000000
## 11                    0.0000000                     0.000000
## 12                    1.2765957                     0.000000
## 13                    0.8510638                    12.658228
## 14                    0.0000000                     0.000000
## 15                    2.9787234                     0.000000
## 16                    0.0000000                     0.000000
## 17                   12.3404255                     0.000000
## 18                    0.0000000                     0.000000
## 19                    0.0000000                     0.000000
## 20                    0.8510638                     0.000000
# Rename the column names for the Composition_Grasses_Wet newly created dataframe
colnames(Composition_Grasses_Dry) <- c ("Grass Species", "Chepararia", "Riwo", "Suam")
print(Composition_Grasses_Dry)
##               Grass Species Chepararia       Riwo      Suam
## 1         Aristida adoensis  0.8823529  0.0000000  0.000000
## 2    Aristida adonseniensis  1.1764706  2.1276596  3.797468
## 3        Aristida keniensis  0.2941176  0.0000000  0.000000
## 4    Bothriochloa insculpta 45.0000000 41.2765957  8.860759
## 5        Brachiaria deflexa  0.0000000  0.0000000  3.797468
## 6  Cenchrus pennisetiformis  0.8823529  0.0000000  0.000000
## 7        Chloris pycnothrix  8.5294118  4.6808511 62.025316
## 8    Chrysopogon plumulosus  6.4705882  0.0000000  0.000000
## 9          Cynodon dactylon 18.2352941 33.1914894  8.860759
## 10       Digitaria velutina  0.5882353  0.4255319  0.000000
## 11          Eleusine indica  0.2941176  0.0000000  0.000000
## 12      Eragrostis ciliaris  0.0000000  1.2765957  0.000000
## 13      Eragrostis congesta  0.0000000  0.8510638 12.658228
## 14       Eragrostis superba  0.2941176  0.0000000  0.000000
## 15      Harpachne schimperi  0.0000000  2.9787234  0.000000
## 16    Heteropogon contortus 16.1764706  0.0000000  0.000000
## 17         Microcloa kunthi  0.0000000 12.3404255  0.000000
## 18           Melinis repens  0.5882353  0.0000000  0.000000
## 19   Sporobolus pyramidalis  0.5882353  0.0000000  0.000000
## 20    Tetrapogon spathecius  0.0000000  0.8510638  0.000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Grasses_Dry_Long <- Composition_Grasses_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Grasses_Dry_Long)
## # A tibble: 60 × 3
##    `Grass Species`        Wards      Composition
##    <chr>                  <chr>            <dbl>
##  1 Aristida adoensis      Chepararia       0.882
##  2 Aristida adoensis      Riwo             0    
##  3 Aristida adoensis      Suam             0    
##  4 Aristida adonseniensis Chepararia       1.18 
##  5 Aristida adonseniensis Riwo             2.13 
##  6 Aristida adonseniensis Suam             3.80 
##  7 Aristida keniensis     Chepararia       0.294
##  8 Aristida keniensis     Riwo             0    
##  9 Aristida keniensis     Suam             0    
## 10 Bothriochloa insculpta Chepararia      45    
## # … with 50 more rows
# Anova analysis assess the impact of land use on Grass species composition during the Dry season
Anova_Composition_Grasses_Dry <- aov (Composition ~ Wards, data = Composition_Grasses_Dry_Long)
summary (Anova_Composition_Grasses_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0     0.0       0      1
## Residuals   57   8428   147.8
# Percent Forb Species Composition
# Percent Forb species Composition in Chepararia during the dry season
sum(Forbs_Dry$Chepararia)
## [1] 68
Composition_Forbs_Dry_Chep <- (Forbs_Dry$Chepararia/68)*100
print(Composition_Forbs_Dry_Chep)
##  [1]  4.411765  1.470588  1.470588  0.000000  0.000000  1.470588  1.470588
##  [8]  2.941176 52.941176  0.000000  5.882353  0.000000 26.470588  0.000000
## [15]  1.470588
sum(Composition_Forbs_Dry_Chep)
## [1] 100
# Percent Forb species Composition in Riwo during the dry season
sum(Forbs_Dry$Riwo)
## [1] 76
Composition_Forbs_Dry_Riwo <- (Forbs_Dry$Riwo/76)*100
print(Composition_Forbs_Dry_Riwo)
##  [1]  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
##  [8]  2.631579 11.842105  1.315789  0.000000  9.210526  0.000000 75.000000
## [15]  0.000000
sum(Composition_Forbs_Dry_Riwo)
## [1] 100
# Percent Forb species Composition in Suam during the dry season
sum(Forbs_Dry$Suam)
## [1] 26
Composition_Forbs_Dry_Suam <- (Forbs_Dry$Suam/26)*100
print(Composition_Forbs_Dry_Suam)
##  [1]  0.000000  0.000000  0.000000  3.846154  7.692308  0.000000  0.000000
##  [8] 46.153846  7.692308  0.000000  7.692308  0.000000  0.000000 26.923077
## [15]  0.000000
sum(Composition_Forbs_Dry_Suam)
## [1] 100
# Creating a data frame containing the percent forb species composition of the three wards
Composition_Forbs_Dry <- data.frame(Forbs_Dry$Species, Composition_Forbs_Dry_Chep, Composition_Forbs_Dry_Riwo, Composition_Forbs_Dry_Suam)
print(Composition_Forbs_Dry)
##         Forbs_Dry.Species Composition_Forbs_Dry_Chep Composition_Forbs_Dry_Riwo
## 1      Achyranthes aspera                   4.411765                   0.000000
## 2       Amaranth deflexas                   1.470588                   0.000000
## 3  Blepharis integrifolia                   1.470588                   0.000000
## 4       Caralluma dummeri                   0.000000                   0.000000
## 5         Clabea velutina                   0.000000                   0.000000
## 6  Commelina benghalensis                   1.470588                   0.000000
## 7      Indigofera specata                   1.470588                   0.000000
## 8    Kalanchoe lanceolata                   2.941176                   2.631579
## 9      Leonoitis molicima                  52.941176                  11.842105
## 10  Pentanisia ouranogyne                   0.000000                   1.315789
## 11 Richardia brasiliensis                   5.882353                   0.000000
## 12         Ruellia patula                   0.000000                   9.210526
## 13          Sonchus asper                  26.470588                   0.000000
## 14 Stylosanthes fruticosa                   0.000000                  75.000000
## 15 Trichodesma zeylanicum                   1.470588                   0.000000
##    Composition_Forbs_Dry_Suam
## 1                    0.000000
## 2                    0.000000
## 3                    0.000000
## 4                    3.846154
## 5                    7.692308
## 6                    0.000000
## 7                    0.000000
## 8                   46.153846
## 9                    7.692308
## 10                   0.000000
## 11                   7.692308
## 12                   0.000000
## 13                   0.000000
## 14                  26.923077
## 15                   0.000000
# Rename the column names for the Composition_Forbs_Dry newly created dataframe
colnames(Composition_Forbs_Dry) <- c ("Forb Species", "Chepararia", "Riwo", "Suam")
print(Composition_Forbs_Dry)
##              Forb Species Chepararia      Riwo      Suam
## 1      Achyranthes aspera   4.411765  0.000000  0.000000
## 2       Amaranth deflexas   1.470588  0.000000  0.000000
## 3  Blepharis integrifolia   1.470588  0.000000  0.000000
## 4       Caralluma dummeri   0.000000  0.000000  3.846154
## 5         Clabea velutina   0.000000  0.000000  7.692308
## 6  Commelina benghalensis   1.470588  0.000000  0.000000
## 7      Indigofera specata   1.470588  0.000000  0.000000
## 8    Kalanchoe lanceolata   2.941176  2.631579 46.153846
## 9      Leonoitis molicima  52.941176 11.842105  7.692308
## 10  Pentanisia ouranogyne   0.000000  1.315789  0.000000
## 11 Richardia brasiliensis   5.882353  0.000000  7.692308
## 12         Ruellia patula   0.000000  9.210526  0.000000
## 13          Sonchus asper  26.470588  0.000000  0.000000
## 14 Stylosanthes fruticosa   0.000000 75.000000 26.923077
## 15 Trichodesma zeylanicum   1.470588  0.000000  0.000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Forbs_Dry_Long <- Composition_Forbs_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Forbs_Dry_Long)
## # A tibble: 45 × 3
##    `Forb Species`         Wards      Composition
##    <chr>                  <chr>            <dbl>
##  1 Achyranthes aspera     Chepararia        4.41
##  2 Achyranthes aspera     Riwo              0   
##  3 Achyranthes aspera     Suam              0   
##  4 Amaranth deflexas      Chepararia        1.47
##  5 Amaranth deflexas      Riwo              0   
##  6 Amaranth deflexas      Suam              0   
##  7 Blepharis integrifolia Chepararia        1.47
##  8 Blepharis integrifolia Riwo              0   
##  9 Blepharis integrifolia Suam              0   
## 10 Caralluma dummeri      Chepararia        0   
## # … with 35 more rows
# Anova analysis assess the impact of land use on Forb species composition during the Dry season
Anova_Composition_Forbs_Dry <- aov (Composition ~ Wards, data = Composition_Forbs_Dry_Long)
summary (Anova_Composition_Forbs_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0     0.0       0      1
## Residuals   42  10483   249.6
# Percent Shrub Species Composition
# Percent Shrub species Composition in Chepararia during the dry season
sum(Shrubs_Dry$Chepararia)
## [1] 468
Composition_Shrubs_Dry_Chep <- (Shrubs_Dry$Chepararia/468)*100
print(Composition_Shrubs_Dry_Chep)
##  [1]  0.2136752  0.0000000  2.5641026  8.1196581  0.4273504  0.0000000
##  [7]  0.2136752  0.2136752  0.4273504  8.7606838  0.0000000  0.2136752
## [13]  0.2136752  0.0000000  8.3333333  1.0683761  0.0000000  0.0000000
## [19]  7.4786325  1.7094017  0.0000000  4.9145299  0.2136752  0.0000000
## [25]  8.5470085  0.4273504  3.4188034  0.0000000  0.0000000  0.8547009
## [31]  0.2136752  4.7008547  4.2735043  0.6410256 22.8632479  8.1196581
## [37]  0.6410256  0.0000000  0.2136752
sum(Composition_Shrubs_Dry_Chep)
## [1] 100
# Percent Shrub species Composition in Riwo during the dry season
sum(Shrubs_Dry$Riwo)
## [1] 661
Composition_Shrubs_Dry_Riwo <- (Shrubs_Dry$Riwo/661)*100
print(Composition_Shrubs_Dry_Riwo)
##  [1]  0.0000000  0.0000000  0.1512859  1.3615734  0.0000000  0.1512859
##  [7]  0.1512859  1.2102874  0.1512859  1.5128593  5.1437216  0.0000000
## [13]  0.0000000  0.1512859  0.1512859  0.3025719  0.6051437  2.1180030
## [19] 75.1891074  2.5718608  0.9077156  0.7564297  0.0000000  0.1512859
## [25]  0.0000000  0.0000000  0.6051437  0.1512859  0.0000000  0.3025719
## [31]  0.0000000  0.7564297  1.8154312  3.1770045  0.0000000  0.1512859
## [37]  0.0000000  0.1512859  0.1512859
sum(Composition_Shrubs_Dry_Riwo)
## [1] 100
# Percent Shrub species Composition in Suam during the dry season
sum(Shrubs_Dry$Suam)
## [1] 1331
Composition_Shrubs_Dry_Suam <- (Shrubs_Dry$Suam/1331)*100
sum(Composition_Shrubs_Dry_Suam)
## [1] 100
# Creating a data frame containing the percent Shrub species composition of the three wards
Composition_Shrubs_Dry <- data.frame(Shrubs_Dry$Species, Composition_Shrubs_Dry_Chep, Composition_Shrubs_Dry_Riwo, Composition_Shrubs_Dry_Suam)
print(Composition_Shrubs_Dry)
##          Shrubs_Dry.Species Composition_Shrubs_Dry_Chep
## 1         Acacia brevispica                   0.2136752
## 2          Acacia reficiens                   0.0000000
## 3         Achyranthes asper                   2.5641026
## 4                 Aloe vera                   8.1196581
## 5       Asperagus racemocus                   0.4273504
## 6       Asparagus africanus                   0.0000000
## 7        Barleria prionitis                   0.2136752
## 8      Caparis fascicularis                   0.2136752
## 9           Carisa spinarum                   0.4273504
## 10      Ciccus rotundifolia                   8.7606838
## 11     Combretum hereroenes                   0.0000000
## 12         Croton dicogamus                   0.2136752
## 13          Euclea divinoum                   0.2136752
## 14        Euphorbia gospina                   0.0000000
## 15             Grewia tenax                   8.3333333
## 16            Grewia vilosa                   1.0683761
## 17        Grewia tricocarpa                   0.0000000
## 18     Harissonia abscinica                   0.0000000
## 19  Hypoestes verticillaris                   7.4786325
## 20         Ipomea kituensis                   1.7094017
## 21  Justicia declipteroides                   0.0000000
## 22           Lantana camara                   4.9145299
## 23           Lipia javanica                   0.2136752
## 24    Maytenus heterophylla                   0.0000000
## 25             Osimum suave                   8.5470085
## 26        Ocimum tenuifolia                   0.4273504
## 27 Ormocarpum trichorcarpum                   3.4188034
## 28           Oncoba spinosa                   0.0000000
## 29   Sanseveria herenbergii                   0.0000000
## 30       Searsia natalensis                   0.8547009
## 31       Senna didymobotrya                   0.2136752
## 32        Senna ocidentalis                   4.7008547
## 33        Senna optusifolia                   4.2735043
## 34         Senna senguiyana                   0.6410256
## 35          Sida cuneifolia                  22.8632479
## 36          Solanum incanum                   8.1196581
## 37      Tagetes minutaflora                   0.6410256
## 38           Teclea nobilis                   0.0000000
## 39        Ximenia americana                   0.2136752
##    Composition_Shrubs_Dry_Riwo Composition_Shrubs_Dry_Suam
## 1                    0.0000000                   1.2021037
## 2                    0.0000000                   2.7798648
## 3                    0.1512859                   0.0000000
## 4                    1.3615734                   1.2021037
## 5                    0.0000000                   0.0000000
## 6                    0.1512859                   0.0000000
## 7                    0.1512859                   9.2411721
## 8                    1.2102874                   0.3756574
## 9                    0.1512859                   0.0000000
## 10                   1.5128593                   7.2126221
## 11                   5.1437216                   0.0000000
## 12                   0.0000000                   0.0000000
## 13                   0.0000000                   0.0000000
## 14                   0.1512859                   0.0000000
## 15                   0.1512859                   1.4274981
## 16                   0.3025719                   0.0000000
## 17                   0.6051437                   0.2253944
## 18                   2.1180030                   0.0000000
## 19                  75.1891074                  27.1224643
## 20                   2.5718608                   0.6761833
## 21                   0.9077156                   0.0000000
## 22                   0.7564297                   0.9015778
## 23                   0.0000000                   0.0000000
## 24                   0.1512859                   0.5259204
## 25                   0.0000000                   0.1502630
## 26                   0.0000000                   0.0000000
## 27                   0.6051437                   1.5777611
## 28                   0.1512859                   0.0000000
## 29                   0.0000000                  23.8918107
## 30                   0.3025719                   0.0000000
## 31                   0.0000000                   0.0000000
## 32                   0.7564297                   9.6168295
## 33                   1.8154312                   4.2073629
## 34                   3.1770045                   0.0000000
## 35                   0.0000000                   0.0000000
## 36                   0.1512859                   7.6634110
## 37                   0.0000000                   0.0000000
## 38                   0.1512859                   0.0000000
## 39                   0.1512859                   0.0000000
# Rename the column names for the Composition_Shrubs_Dry newly created dataframe
colnames(Composition_Shrubs_Dry) <- c("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Composition_Shrubs_Dry)
##               Shrub Species Chepararia       Riwo       Suam
## 1         Acacia brevispica  0.2136752  0.0000000  1.2021037
## 2          Acacia reficiens  0.0000000  0.0000000  2.7798648
## 3         Achyranthes asper  2.5641026  0.1512859  0.0000000
## 4                 Aloe vera  8.1196581  1.3615734  1.2021037
## 5       Asperagus racemocus  0.4273504  0.0000000  0.0000000
## 6       Asparagus africanus  0.0000000  0.1512859  0.0000000
## 7        Barleria prionitis  0.2136752  0.1512859  9.2411721
## 8      Caparis fascicularis  0.2136752  1.2102874  0.3756574
## 9           Carisa spinarum  0.4273504  0.1512859  0.0000000
## 10      Ciccus rotundifolia  8.7606838  1.5128593  7.2126221
## 11     Combretum hereroenes  0.0000000  5.1437216  0.0000000
## 12         Croton dicogamus  0.2136752  0.0000000  0.0000000
## 13          Euclea divinoum  0.2136752  0.0000000  0.0000000
## 14        Euphorbia gospina  0.0000000  0.1512859  0.0000000
## 15             Grewia tenax  8.3333333  0.1512859  1.4274981
## 16            Grewia vilosa  1.0683761  0.3025719  0.0000000
## 17        Grewia tricocarpa  0.0000000  0.6051437  0.2253944
## 18     Harissonia abscinica  0.0000000  2.1180030  0.0000000
## 19  Hypoestes verticillaris  7.4786325 75.1891074 27.1224643
## 20         Ipomea kituensis  1.7094017  2.5718608  0.6761833
## 21  Justicia declipteroides  0.0000000  0.9077156  0.0000000
## 22           Lantana camara  4.9145299  0.7564297  0.9015778
## 23           Lipia javanica  0.2136752  0.0000000  0.0000000
## 24    Maytenus heterophylla  0.0000000  0.1512859  0.5259204
## 25             Osimum suave  8.5470085  0.0000000  0.1502630
## 26        Ocimum tenuifolia  0.4273504  0.0000000  0.0000000
## 27 Ormocarpum trichorcarpum  3.4188034  0.6051437  1.5777611
## 28           Oncoba spinosa  0.0000000  0.1512859  0.0000000
## 29   Sanseveria herenbergii  0.0000000  0.0000000 23.8918107
## 30       Searsia natalensis  0.8547009  0.3025719  0.0000000
## 31       Senna didymobotrya  0.2136752  0.0000000  0.0000000
## 32        Senna ocidentalis  4.7008547  0.7564297  9.6168295
## 33        Senna optusifolia  4.2735043  1.8154312  4.2073629
## 34         Senna senguiyana  0.6410256  3.1770045  0.0000000
## 35          Sida cuneifolia 22.8632479  0.0000000  0.0000000
## 36          Solanum incanum  8.1196581  0.1512859  7.6634110
## 37      Tagetes minutaflora  0.6410256  0.0000000  0.0000000
## 38           Teclea nobilis  0.0000000  0.1512859  0.0000000
## 39        Ximenia americana  0.2136752  0.1512859  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Shrubs_Dry_Long <- Composition_Shrubs_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Shrubs_Dry_Long)
## # A tibble: 117 × 3
##    `Shrub Species`   Wards      Composition
##    <chr>             <chr>            <dbl>
##  1 Acacia brevispica Chepararia       0.214
##  2 Acacia brevispica Riwo             0    
##  3 Acacia brevispica Suam             1.20 
##  4 Acacia reficiens  Chepararia       0    
##  5 Acacia reficiens  Riwo             0    
##  6 Acacia reficiens  Suam             2.78 
##  7 Achyranthes asper Chepararia       2.56 
##  8 Achyranthes asper Riwo             0.151
##  9 Achyranthes asper Suam             0    
## 10 Aloe vera         Chepararia       8.12 
## # … with 107 more rows
# Anova analysis assess the impact of land use on Shrub species composition during the Dry season
Anova_Composition_Shrubs_Dry <- aov (Composition ~ Wards, data = Composition_Shrubs_Dry_Long)
summary (Anova_Composition_Shrubs_Dry)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Wards         2      0     0.0       0      1
## Residuals   114   7593    66.6
# Percent Tree Species Composition
# Percent Tree species Composition in Chepararia during the dry season
sum(Trees_Dry$Chepararia)
## [1] 330
Composition_Trees_Dry_Chep <- (Trees_Dry$Chepararia/330)*100
print(Composition_Trees_Dry_Chep)
##  [1]  4.2424242  4.5454545  1.8181818  6.6666667 18.1818182  9.0909091
##  [7]  0.9090909  1.8181818  2.7272727  0.0000000  1.5151515  0.6060606
## [13] 10.9090909  0.6060606  0.0000000  2.1212121  1.8181818  3.0303030
## [19] 19.3939394  0.0000000  0.0000000  0.0000000  0.6060606  4.5454545
## [25]  0.0000000  0.0000000  0.6060606  0.0000000  0.0000000  0.3030303
## [31]  0.0000000  0.0000000  0.0000000  0.0000000  3.0303030  0.0000000
## [37]  0.0000000  0.9090909
sum(Composition_Trees_Dry_Chep)
## [1] 100
# Percent Tree species Composition in Riwo during the dry season
sum(Trees_Dry$Riwo)
## [1] 435
Composition_Trees_Dry_Riwo <- (Trees_Dry$Riwo/435)*100
print(Composition_Trees_Dry_Riwo)
##  [1]  0.4597701  0.2298851  0.0000000  2.5287356 56.3218391  1.3793103
##  [7]  0.0000000  0.2298851  0.0000000  0.0000000 12.1839080  0.0000000
## [13] 16.3218391  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
## [19]  0.2298851  0.2298851  0.0000000  0.0000000  0.0000000  0.9195402
## [25]  1.1494253  0.6896552  0.0000000  0.2298851  0.4597701  0.0000000
## [31]  0.2298851  0.0000000  0.0000000  0.9195402  0.9195402  0.0000000
## [37]  1.6091954  2.7586207
sum(Composition_Trees_Dry_Riwo)
## [1] 100
# Percent Tree species Composition in Suam during the dry season
sum(Trees_Dry$Suam)
## [1] 251
Composition_Trees_Dry_Suam <- (Trees_Dry$Suam/251)*100
print(Composition_Trees_Dry_Suam)
##  [1]  0.0000000  0.3984064  0.3984064 11.1553785 50.9960159  1.1952191
##  [7]  0.0000000  7.1713147  0.0000000  0.3984064  1.5936255  3.1872510
## [13] 11.1553785  0.7968127  0.7968127  2.7888446  0.0000000  0.0000000
## [19]  1.1952191  0.0000000  0.3984064  0.3984064  0.0000000  1.1952191
## [25]  0.0000000  1.1952191  0.0000000  0.0000000  0.0000000  0.0000000
## [31]  0.0000000  1.1952191  0.7968127  0.0000000  0.0000000  1.5936255
## [37]  0.0000000  0.0000000
sum(Composition_Trees_Dry_Suam)
## [1] 100
# Creating a data frame containing the percent Tree species composition of the three wards
Composition_Trees_Dry <- data.frame(Trees_Dry$Species, Composition_Trees_Dry_Chep, Composition_Trees_Dry_Riwo, Composition_Trees_Dry_Suam)
print(Composition_Trees_Dry)
##            Trees_Dry.Species Composition_Trees_Dry_Chep
## 1       Acacia drepanalobium                  4.2424242
## 2            Acacia gerardii                  4.5454545
## 3               Acacia lahai                  1.8181818
## 4            Acacia melifera                  6.6666667
## 5            Acacia nilotica                 18.1818182
## 6             Acacia senegal                  9.0909091
## 7               Acacia seyal                  0.9090909
## 8            Acacia tortilis                  1.8181818
## 9  Acokanthera oppositifolia                  2.7272727
## 10            Adenium obusum                  0.0000000
## 11             Albizia amara                  1.5151515
## 12     Albizia antialmintica                  0.6060606
## 13      Balanites aegyptiaca                 10.9090909
## 14           Boscia coriacea                  0.6060606
## 15        Boscia salicifolia                  0.0000000
## 16       Commiphora africana                  2.1212121
## 17      Croton macrostachyus                  1.8181818
## 18       Croton megalocarpus                  3.0303030
## 19     Euphorbia candelabrum                 19.3939394
## 20           Fathabia albida                  0.0000000
## 21         Flacourtia indica                  0.0000000
## 22        Gardenia volkensii                  0.0000000
## 23         Gravillea robusta                  0.6060606
## 24            Grewia bicolor                  4.5454545
## 25         Grewia tricocarpa                  0.0000000
## 26              Lannea falva                  0.0000000
## 27            Lannea trifala                  0.6060606
## 28    Piliostigma thonningii                  0.0000000
## 29        Sclerocarya birrea                  0.0000000
## 30           Sesbania sesban                  0.3030303
## 31         Tamarindus indica                  0.0000000
## 32            Teclea nobilis                  0.0000000
## 33        Terminalia brownii                  0.0000000
## 34     Terminalia prunioides                  0.0000000
## 35        Vangueria infausta                  3.0303030
## 36     Zanthoxylum chalybeum                  0.0000000
## 37       Ziziphus abyssinica                  0.0000000
## 38        Ziziphus mucronata                  0.9090909
##    Composition_Trees_Dry_Riwo Composition_Trees_Dry_Suam
## 1                   0.4597701                  0.0000000
## 2                   0.2298851                  0.3984064
## 3                   0.0000000                  0.3984064
## 4                   2.5287356                 11.1553785
## 5                  56.3218391                 50.9960159
## 6                   1.3793103                  1.1952191
## 7                   0.0000000                  0.0000000
## 8                   0.2298851                  7.1713147
## 9                   0.0000000                  0.0000000
## 10                  0.0000000                  0.3984064
## 11                 12.1839080                  1.5936255
## 12                  0.0000000                  3.1872510
## 13                 16.3218391                 11.1553785
## 14                  0.0000000                  0.7968127
## 15                  0.0000000                  0.7968127
## 16                  0.0000000                  2.7888446
## 17                  0.0000000                  0.0000000
## 18                  0.0000000                  0.0000000
## 19                  0.2298851                  1.1952191
## 20                  0.2298851                  0.0000000
## 21                  0.0000000                  0.3984064
## 22                  0.0000000                  0.3984064
## 23                  0.0000000                  0.0000000
## 24                  0.9195402                  1.1952191
## 25                  1.1494253                  0.0000000
## 26                  0.6896552                  1.1952191
## 27                  0.0000000                  0.0000000
## 28                  0.2298851                  0.0000000
## 29                  0.4597701                  0.0000000
## 30                  0.0000000                  0.0000000
## 31                  0.2298851                  0.0000000
## 32                  0.0000000                  1.1952191
## 33                  0.0000000                  0.7968127
## 34                  0.9195402                  0.0000000
## 35                  0.9195402                  0.0000000
## 36                  0.0000000                  1.5936255
## 37                  1.6091954                  0.0000000
## 38                  2.7586207                  0.0000000
# Rename the column names for the Composition_Trees_Dry newly created dataframe
colnames(Composition_Trees_Dry) <- c("Tree Species", "Chepararia", "Riwo", "Suam")
print(Composition_Trees_Dry)
##                 Tree Species Chepararia       Riwo       Suam
## 1       Acacia drepanalobium  4.2424242  0.4597701  0.0000000
## 2            Acacia gerardii  4.5454545  0.2298851  0.3984064
## 3               Acacia lahai  1.8181818  0.0000000  0.3984064
## 4            Acacia melifera  6.6666667  2.5287356 11.1553785
## 5            Acacia nilotica 18.1818182 56.3218391 50.9960159
## 6             Acacia senegal  9.0909091  1.3793103  1.1952191
## 7               Acacia seyal  0.9090909  0.0000000  0.0000000
## 8            Acacia tortilis  1.8181818  0.2298851  7.1713147
## 9  Acokanthera oppositifolia  2.7272727  0.0000000  0.0000000
## 10            Adenium obusum  0.0000000  0.0000000  0.3984064
## 11             Albizia amara  1.5151515 12.1839080  1.5936255
## 12     Albizia antialmintica  0.6060606  0.0000000  3.1872510
## 13      Balanites aegyptiaca 10.9090909 16.3218391 11.1553785
## 14           Boscia coriacea  0.6060606  0.0000000  0.7968127
## 15        Boscia salicifolia  0.0000000  0.0000000  0.7968127
## 16       Commiphora africana  2.1212121  0.0000000  2.7888446
## 17      Croton macrostachyus  1.8181818  0.0000000  0.0000000
## 18       Croton megalocarpus  3.0303030  0.0000000  0.0000000
## 19     Euphorbia candelabrum 19.3939394  0.2298851  1.1952191
## 20           Fathabia albida  0.0000000  0.2298851  0.0000000
## 21         Flacourtia indica  0.0000000  0.0000000  0.3984064
## 22        Gardenia volkensii  0.0000000  0.0000000  0.3984064
## 23         Gravillea robusta  0.6060606  0.0000000  0.0000000
## 24            Grewia bicolor  4.5454545  0.9195402  1.1952191
## 25         Grewia tricocarpa  0.0000000  1.1494253  0.0000000
## 26              Lannea falva  0.0000000  0.6896552  1.1952191
## 27            Lannea trifala  0.6060606  0.0000000  0.0000000
## 28    Piliostigma thonningii  0.0000000  0.2298851  0.0000000
## 29        Sclerocarya birrea  0.0000000  0.4597701  0.0000000
## 30           Sesbania sesban  0.3030303  0.0000000  0.0000000
## 31         Tamarindus indica  0.0000000  0.2298851  0.0000000
## 32            Teclea nobilis  0.0000000  0.0000000  1.1952191
## 33        Terminalia brownii  0.0000000  0.0000000  0.7968127
## 34     Terminalia prunioides  0.0000000  0.9195402  0.0000000
## 35        Vangueria infausta  3.0303030  0.9195402  0.0000000
## 36     Zanthoxylum chalybeum  0.0000000  0.0000000  1.5936255
## 37       Ziziphus abyssinica  0.0000000  1.6091954  0.0000000
## 38        Ziziphus mucronata  0.9090909  2.7586207  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Composition_Trees_Dry_Long <- Composition_Trees_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Composition")
print(Composition_Trees_Dry_Long)
## # A tibble: 114 × 3
##    `Tree Species`       Wards      Composition
##    <chr>                <chr>            <dbl>
##  1 Acacia drepanalobium Chepararia       4.24 
##  2 Acacia drepanalobium Riwo             0.460
##  3 Acacia drepanalobium Suam             0    
##  4 Acacia gerardii      Chepararia       4.55 
##  5 Acacia gerardii      Riwo             0.230
##  6 Acacia gerardii      Suam             0.398
##  7 Acacia lahai         Chepararia       1.82 
##  8 Acacia lahai         Riwo             0    
##  9 Acacia lahai         Suam             0.398
## 10 Acacia melifera      Chepararia       6.67 
## # … with 104 more rows
# Anova analysis assess the impact of land use on Tree species composition during the Dry season
Anova_Composition_Trees_Dry <- aov (Composition ~ Wards, data = Composition_Trees_Dry_Long)
summary (Anova_Composition_Trees_Dry)
##              Df Sum Sq Mean Sq F value Pr(>F)
## Wards         2      0    0.00       0      1
## Residuals   111   6813   61.38
# DRY SEASON GROUND COVER
Point_Dry <- read_xlsx("WP_Vegetation.xlsx", sheet = 6)
print(Point_Dry)
## # A tibble: 26 × 4
##    Species                  Chepararia  Riwo  Suam
##    <chr>                         <dbl> <dbl> <dbl>
##  1 Aristida adoensis                 3     0     0
##  2 Aristida adscensionis             6    10     4
##  3 Aristida keniensis                1     0     0
##  4 Bare ground                      74    84   127
##  5 Barleria prionitis                0     0     1
##  6 Bothriochloa insculpta           42    19    10
##  7 Brachiaria deflexa                0     0     2
##  8 Cenchrus pennisetiformis          3     0     0
##  9 Chloris pycnothrix                6    16    17
## 10 Chrysopogon plumulosus            7     1     0
## # … with 16 more rows
# Ground Cover percent in Chepararia during the dry season
sum(Point_Dry$Chepararia)
## [1] 240
Ground_Cover_Dry_Chep <- (Point_Dry$Chepararia/240)*100
print(Ground_Cover_Dry_Chep)
##  [1]  1.2500000  2.5000000  0.4166667 30.8333333  0.0000000 17.5000000
##  [7]  0.0000000  1.2500000  2.5000000  2.9166667 11.2500000  0.8333333
## [13]  3.7500000  0.4166667  0.0000000  0.4166667  1.6666667  0.4166667
## [19]  0.4166667  0.0000000 16.6666667  0.0000000  0.4166667  2.9166667
## [25]  1.6666667  0.0000000
# Ground Cover percent in Riwo during the dry season
sum(Point_Dry$Riwo)
## [1] 240
Ground_Cover_Dry_Riwo <- (Point_Dry$Riwo/240)*100
print(Ground_Cover_Dry_Riwo)
##  [1]  0.0000000  4.1666667  0.0000000 35.0000000  0.0000000  7.9166667
##  [7]  0.0000000  0.0000000  6.6666667  0.4166667  9.1666667  0.4166667
## [13]  0.4166667  0.0000000  0.0000000  2.0833333  0.0000000  0.0000000
## [19]  0.0000000  0.4166667 23.3333333  2.5000000  0.0000000  6.2500000
## [25]  0.4166667  0.8333333
# Ground Cover percent in Suam during the dry season
sum(Point_Dry$Suam)
## [1] 240
Ground_Cover_Dry_Suam <- (Point_Dry$Suam/240)*100
print(Ground_Cover_Dry_Suam)
##  [1]  0.0000000  1.6666667  0.0000000 52.9166667  0.4166667  4.1666667
##  [7]  0.8333333  0.0000000  7.0833333  0.0000000  1.6666667  0.0000000
## [13]  0.8333333  0.0000000  0.4166667  0.4166667  0.0000000  0.0000000
## [19]  0.0000000  0.0000000 21.6666667  0.0000000  0.0000000  7.9166667
## [25]  0.0000000  0.0000000
# Creating a data frame containing the Ground cover percentages of species in the three wards
Ground_Cover_Dry <- data.frame(Point_Dry$Species, Ground_Cover_Dry_Chep, Ground_Cover_Dry_Riwo, Ground_Cover_Dry_Suam)
print(Ground_Cover_Dry)
##           Point_Dry.Species Ground_Cover_Dry_Chep Ground_Cover_Dry_Riwo
## 1         Aristida adoensis             1.2500000             0.0000000
## 2     Aristida adscensionis             2.5000000             4.1666667
## 3        Aristida keniensis             0.4166667             0.0000000
## 4               Bare ground            30.8333333            35.0000000
## 5        Barleria prionitis             0.0000000             0.0000000
## 6    Bothriochloa insculpta            17.5000000             7.9166667
## 7        Brachiaria deflexa             0.0000000             0.0000000
## 8  Cenchrus pennisetiformis             1.2500000             0.0000000
## 9        Chloris pycnothrix             2.5000000             6.6666667
## 10   Chrysopogon plumulosus             2.9166667             0.4166667
## 11         Cynodon dactylon            11.2500000             9.1666667
## 12       Digitaria velutina             0.8333333             0.4166667
## 13                     Dung             3.7500000             0.4166667
## 14          Eleusine indica             0.4166667             0.0000000
## 15      Eragrostis ciliaris             0.0000000             0.0000000
## 16      Eragrostis congesta             0.4166667             2.0833333
## 17       Eragrostis superba             1.6666667             0.0000000
## 18             Grewia tenax             0.4166667             0.0000000
## 19    Heteropogon contortus             0.4166667             0.0000000
## 20          Hyperhenia rufa             0.0000000             0.4166667
## 21                   Litter            16.6666667            23.3333333
## 22       Microchloa kunthii             0.0000000             2.5000000
## 23           Melinis repens             0.4166667             0.0000000
## 24                     Rock             2.9166667             6.2500000
## 25   Sporobolus pyramidalis             1.6666667             0.4166667
## 26    Tetrapogon spathecius             0.0000000             0.8333333
##    Ground_Cover_Dry_Suam
## 1              0.0000000
## 2              1.6666667
## 3              0.0000000
## 4             52.9166667
## 5              0.4166667
## 6              4.1666667
## 7              0.8333333
## 8              0.0000000
## 9              7.0833333
## 10             0.0000000
## 11             1.6666667
## 12             0.0000000
## 13             0.8333333
## 14             0.0000000
## 15             0.4166667
## 16             0.4166667
## 17             0.0000000
## 18             0.0000000
## 19             0.0000000
## 20             0.0000000
## 21            21.6666667
## 22             0.0000000
## 23             0.0000000
## 24             7.9166667
## 25             0.0000000
## 26             0.0000000
# Rename the column names for the newly created dataframe
colnames(Ground_Cover_Dry) <- c("Species", "Chepararia", "Riwo", "Suam")
print(Ground_Cover_Dry)
##                     Species Chepararia       Riwo       Suam
## 1         Aristida adoensis  1.2500000  0.0000000  0.0000000
## 2     Aristida adscensionis  2.5000000  4.1666667  1.6666667
## 3        Aristida keniensis  0.4166667  0.0000000  0.0000000
## 4               Bare ground 30.8333333 35.0000000 52.9166667
## 5        Barleria prionitis  0.0000000  0.0000000  0.4166667
## 6    Bothriochloa insculpta 17.5000000  7.9166667  4.1666667
## 7        Brachiaria deflexa  0.0000000  0.0000000  0.8333333
## 8  Cenchrus pennisetiformis  1.2500000  0.0000000  0.0000000
## 9        Chloris pycnothrix  2.5000000  6.6666667  7.0833333
## 10   Chrysopogon plumulosus  2.9166667  0.4166667  0.0000000
## 11         Cynodon dactylon 11.2500000  9.1666667  1.6666667
## 12       Digitaria velutina  0.8333333  0.4166667  0.0000000
## 13                     Dung  3.7500000  0.4166667  0.8333333
## 14          Eleusine indica  0.4166667  0.0000000  0.0000000
## 15      Eragrostis ciliaris  0.0000000  0.0000000  0.4166667
## 16      Eragrostis congesta  0.4166667  2.0833333  0.4166667
## 17       Eragrostis superba  1.6666667  0.0000000  0.0000000
## 18             Grewia tenax  0.4166667  0.0000000  0.0000000
## 19    Heteropogon contortus  0.4166667  0.0000000  0.0000000
## 20          Hyperhenia rufa  0.0000000  0.4166667  0.0000000
## 21                   Litter 16.6666667 23.3333333 21.6666667
## 22       Microchloa kunthii  0.0000000  2.5000000  0.0000000
## 23           Melinis repens  0.4166667  0.0000000  0.0000000
## 24                     Rock  2.9166667  6.2500000  7.9166667
## 25   Sporobolus pyramidalis  1.6666667  0.4166667  0.0000000
## 26    Tetrapogon spathecius  0.0000000  0.8333333  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Ground_Cover_Dry_Long <- Ground_Cover_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Cover")
print(Ground_Cover_Dry_Long)
## # A tibble: 78 × 3
##    Species               Wards       Cover
##    <chr>                 <chr>       <dbl>
##  1 Aristida adoensis     Chepararia  1.25 
##  2 Aristida adoensis     Riwo        0    
##  3 Aristida adoensis     Suam        0    
##  4 Aristida adscensionis Chepararia  2.5  
##  5 Aristida adscensionis Riwo        4.17 
##  6 Aristida adscensionis Suam        1.67 
##  7 Aristida keniensis    Chepararia  0.417
##  8 Aristida keniensis    Riwo        0    
##  9 Aristida keniensis    Suam        0    
## 10 Bare ground           Chepararia 30.8  
## # … with 68 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Ground_Cover_Dry <- aov (Cover ~ Wards, data = Ground_Cover_Dry_Long)
summary (Anova_Ground_Cover_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0    0.00       0      1
## Residuals   75   5998   79.97
#CANOPY COVER
#Canopy Cover - a 10m long tape was being used to sample, on 3 points, in 4 campus directions per sampling point. #10*3*4*2 - for 2 sampling locations = 240m. The total length of the sampling tape per land use study area is 240m.
#Import the Canopy_Wet data set
Canopy_Dry <- read_xlsx("WP_Vegetation.xlsx", sheet = 8)
View(Canopy_Dry)

# Subset the canopy cover data set for shrubs from the Canopy_Dry dataset
Canopy_Shrubs_Dry <- subset(Canopy_Dry, Lifeform == "Shrub",)
view(Canopy_Shrubs_Dry)

# Canopy cover of shrubs in Chepararia during the dry season
sum(Canopy_Shrubs_Dry$Chepararia)
## [1] 7.3
# Total shrub canopy cover in Chepararia during the dry season = ~ 7.3%
Canopy_Shrubs_Dry_Chep <- (Canopy_Shrubs_Dry$Chepararia/7.3)*100
print(Canopy_Shrubs_Dry_Chep)
##  [1]  0.000000  0.000000  0.000000  0.000000 12.328767 12.328767  0.000000
##  [8]  0.000000 15.068493  0.000000 17.808219  0.000000  0.000000  0.000000
## [15]  0.000000  2.739726  8.219178  0.000000  0.000000  0.000000  0.000000
## [22]  0.000000 16.438356  5.479452  0.000000  9.589041
# Canopy cover of shrubs in Riwo during the dry season
sum(Canopy_Shrubs_Dry$Riwo)
## [1] 50.35
# Total shrub canopy cover in Riwo during the dry season = ~ 50.35%
Canopy_Shrubs_Dry_Riwo <- (Canopy_Shrubs_Dry$Riwo/50.35)*100
print(Canopy_Shrubs_Dry_Riwo)
##  [1]  0.0000000  0.0000000  0.3972195  0.1986097  2.5819265 15.0943396
##  [7] 19.5630586  0.7944389  0.0000000  0.0000000  0.0000000  4.3694141
## [13] 19.6623635  4.5680238  8.5402185  0.0000000  0.0000000  0.0000000
## [19]  0.0000000  0.5958292  0.0000000 11.9165839  0.0000000  0.0000000
## [25] 11.7179742  0.0000000
# Canopy cover of shrubs in Suam during the dry season
sum(Canopy_Shrubs_Dry$Suam)
## [1] 27.3
# Total shrub canopy cover in Suam during the dry season = ~ 27.3%
Canopy_Shrubs_Dry_Suam <- (Canopy_Shrubs_Dry$Suam/27.3)*100
print(Canopy_Shrubs_Dry_Suam)
##  [1]  1.4652015  6.2271062 18.3150183  0.0000000 21.9780220  0.0000000
##  [7] 10.9890110  0.0000000  0.0000000  1.0989011  0.0000000  0.0000000
## [13] 18.6813187  0.0000000  0.0000000  1.8315018  0.0000000  3.6630037
## [19]  0.7326007  0.0000000 10.6227106  0.0000000  4.3956044  0.0000000
## [25]  0.0000000  0.0000000
Canopy_Cover_Shrubs_Dry <- data.frame(Canopy_Shrubs_Dry$Species, Canopy_Shrubs_Dry_Chep, Canopy_Shrubs_Dry_Riwo, Canopy_Shrubs_Dry_Suam)
print(Canopy_Cover_Shrubs_Dry)
##     Canopy_Shrubs_Dry.Species Canopy_Shrubs_Dry_Chep Canopy_Shrubs_Dry_Riwo
## 1                   Aloe vera               0.000000              0.0000000
## 2           Barleria prinites               0.000000              0.0000000
## 3  Caparis Sepiaris/facuraris               0.000000              0.3972195
## 4             Carisa spinarum               0.000000              0.1986097
## 5         Ciccus rotundifolia              12.328767              2.5819265
## 6            Cisfus mucronata              12.328767             15.0943396
## 7        Combretum hereroenes               0.000000             19.5630586
## 8           Euphorbia gospina               0.000000              0.7944389
## 9                Grewia tenax              15.068493              0.0000000
## 10          Grewia tricocarpa               0.000000              0.0000000
## 11              Grewia vilosa              17.808219              0.0000000
## 12       Harissonia abscinica               0.000000              4.3694141
## 13   Hypoestes verticililaris               0.000000             19.6623635
## 14           Ipomea kituensis               0.000000              4.5680238
## 15       Justicia decruptelia               0.000000              8.5402185
## 16             Lantana camara               2.739726              0.0000000
## 17           Leonotis molisma               8.219178              0.0000000
## 18      Maytenus heterophylla               0.000000              0.0000000
## 19             Oncoba spinosa               0.000000              0.0000000
## 20      Omocarpum tricocarpum               0.000000              0.5958292
## 21     Sanseveria herenbergii               0.000000              0.0000000
## 22          Sersia natalensis               0.000000             11.9165839
## 23           Sena ocidentalis              16.438356              0.0000000
## 24           Sena optusifolia               5.479452              0.0000000
## 25            Senna senguiana               0.000000             11.7179742
## 26            Solanum incanum               9.589041              0.0000000
##    Canopy_Shrubs_Dry_Suam
## 1               1.4652015
## 2               6.2271062
## 3              18.3150183
## 4               0.0000000
## 5              21.9780220
## 6               0.0000000
## 7              10.9890110
## 8               0.0000000
## 9               0.0000000
## 10              1.0989011
## 11              0.0000000
## 12              0.0000000
## 13             18.6813187
## 14              0.0000000
## 15              0.0000000
## 16              1.8315018
## 17              0.0000000
## 18              3.6630037
## 19              0.7326007
## 20              0.0000000
## 21             10.6227106
## 22              0.0000000
## 23              4.3956044
## 24              0.0000000
## 25              0.0000000
## 26              0.0000000
# Rename the column names for the newly created dataframe
colnames(Canopy_Cover_Shrubs_Dry) <- c ("Shrub Species", "Chepararia", "Riwo", "Suam")
print(Canopy_Cover_Shrubs_Dry)
##                 Shrub Species Chepararia       Riwo       Suam
## 1                   Aloe vera   0.000000  0.0000000  1.4652015
## 2           Barleria prinites   0.000000  0.0000000  6.2271062
## 3  Caparis Sepiaris/facuraris   0.000000  0.3972195 18.3150183
## 4             Carisa spinarum   0.000000  0.1986097  0.0000000
## 5         Ciccus rotundifolia  12.328767  2.5819265 21.9780220
## 6            Cisfus mucronata  12.328767 15.0943396  0.0000000
## 7        Combretum hereroenes   0.000000 19.5630586 10.9890110
## 8           Euphorbia gospina   0.000000  0.7944389  0.0000000
## 9                Grewia tenax  15.068493  0.0000000  0.0000000
## 10          Grewia tricocarpa   0.000000  0.0000000  1.0989011
## 11              Grewia vilosa  17.808219  0.0000000  0.0000000
## 12       Harissonia abscinica   0.000000  4.3694141  0.0000000
## 13   Hypoestes verticililaris   0.000000 19.6623635 18.6813187
## 14           Ipomea kituensis   0.000000  4.5680238  0.0000000
## 15       Justicia decruptelia   0.000000  8.5402185  0.0000000
## 16             Lantana camara   2.739726  0.0000000  1.8315018
## 17           Leonotis molisma   8.219178  0.0000000  0.0000000
## 18      Maytenus heterophylla   0.000000  0.0000000  3.6630037
## 19             Oncoba spinosa   0.000000  0.0000000  0.7326007
## 20      Omocarpum tricocarpum   0.000000  0.5958292  0.0000000
## 21     Sanseveria herenbergii   0.000000  0.0000000 10.6227106
## 22          Sersia natalensis   0.000000 11.9165839  0.0000000
## 23           Sena ocidentalis  16.438356  0.0000000  4.3956044
## 24           Sena optusifolia   5.479452  0.0000000  0.0000000
## 25            Senna senguiana   0.000000 11.7179742  0.0000000
## 26            Solanum incanum   9.589041  0.0000000  0.0000000
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Canopy_Shrubs_Dry_Long <- Canopy_Cover_Shrubs_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Canopy")
print(Canopy_Shrubs_Dry_Long)
## # A tibble: 78 × 3
##    `Shrub Species`            Wards      Canopy
##    <chr>                      <chr>       <dbl>
##  1 Aloe vera                  Chepararia  0    
##  2 Aloe vera                  Riwo        0    
##  3 Aloe vera                  Suam        1.47 
##  4 Barleria prinites          Chepararia  0    
##  5 Barleria prinites          Riwo        0    
##  6 Barleria prinites          Suam        6.23 
##  7 Caparis Sepiaris/facuraris Chepararia  0    
##  8 Caparis Sepiaris/facuraris Riwo        0.397
##  9 Caparis Sepiaris/facuraris Suam       18.3  
## 10 Carisa spinarum            Chepararia  0    
## # … with 68 more rows
# Anova analysis assess the impact of land use on Grass species composition during the wet season
Anova_Canopy_Shrubs_Dry <- aov (Canopy ~ Wards, data = Canopy_Shrubs_Dry_Long)
summary (Anova_Canopy_Shrubs_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0    0.00       0      1
## Residuals   75   3039   40.52
# Subset the canopy cover data set for Trees from the Canopy_Dry data set
Canopy_Trees_Dry <- subset(Canopy_Dry, Lifeform == "Tree")
view(Canopy_Trees_Dry)

# Canopy cover of Trees in Chepararia during the dry season
sum(Canopy_Trees_Dry$Chepararia)
## [1] 175.7
# Total shrub canopy cover in Chepararia during the dry season = ~ 175.7%
Canopy_Trees_Dry_Chep <- (Canopy_Trees_Dry$Chepararia/175.7)*100
print(Canopy_Trees_Dry_Chep)
##  [1]  0.4553216 14.7410359  3.0165054  5.3500285  5.6346044  6.8867388
##  [7]  3.3010814 11.2122937  0.0000000 24.9857712 17.0745589  0.0000000
## [13]  5.6915196  1.5367103  0.0000000  0.1138304  0.0000000  0.0000000
## [19]  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000  0.0000000
# Canopy cover of Trees in Riwo during the dry season
sum(Canopy_Trees_Dry$Riwo)
## [1] 190.3
# Total shrub canopy cover in Riwo during the dry season = ~ 190.3%
Canopy_Trees_Dry_Riwo <- (Canopy_Trees_Dry$Riwo/190.3)*100
print(Canopy_Trees_Dry_Riwo)
##  [1]  0.0000000  0.0000000  0.0000000  5.9379926 26.6946926  0.0000000
##  [7]  0.0000000 17.1833946  0.0000000 28.4813452  0.0000000  0.0000000
## [13]  0.0000000  0.0000000  4.0987914  0.0000000  2.2595901  5.2548607
## [19]  5.2548607  0.0000000  0.7882291  0.0000000  4.0462428  0.0000000
# Canopy cover of shrubs in Suam during the dry season
sum(Canopy_Trees_Dry$Suam)
## [1] 188.4
# Total shrub canopy cover in Suam during the dry season = ~ 188.4%
Canopy_Trees_Dry_Suam <- (Canopy_Trees_Dry$Suam/188.4)*100
print(Canopy_Trees_Dry_Suam)
##  [1]  0.000000  0.000000  0.000000 14.065817  7.112527  1.486200 18.789809
##  [8]  5.307856  8.917197 18.949045  0.000000  2.653928  0.000000  0.000000
## [15]  0.000000  0.000000  0.000000  0.000000  0.000000  6.900212  0.000000
## [22]  6.528662  0.000000  9.288747
Canopy_Cover_Trees_Dry <- data.frame(Canopy_Trees_Dry$Species, Canopy_Trees_Dry_Chep, Canopy_Trees_Dry_Riwo, Canopy_Trees_Dry_Suam)
print(Canopy_Cover_Trees_Dry)
##    Canopy_Trees_Dry.Species Canopy_Trees_Dry_Chep Canopy_Trees_Dry_Riwo
## 1      Acacia drepanalobium             0.4553216             0.0000000
## 2           Acacia gerardii            14.7410359             0.0000000
## 3              Acacia lahai             3.0165054             0.0000000
## 4          Acacia mellifera             5.3500285             5.9379926
## 5           Acacia nilotica             5.6346044            26.6946926
## 6            Acacia senegal             6.8867388             0.0000000
## 7           Acacia tortilis             3.3010814             0.0000000
## 8             Albizia amara            11.2122937            17.1833946
## 9     Albizia antialmintica             0.0000000             0.0000000
## 10     Balanites aegyptiaca            24.9857712            28.4813452
## 11          Boscia coriacea            17.0745589             0.0000000
## 12       Boscia salicifolia             0.0000000             0.0000000
## 13     Croton macrostachyus             5.6915196             0.0000000
## 14           Grewia bicolor             1.5367103             0.0000000
## 15             Lannea falva             0.0000000             4.0987914
## 16  Ormocarpum trichocarpum             0.1138304             0.0000000
## 17       Priostigma thognii             0.0000000             2.2595901
## 18        Sclerocaro birrea             0.0000000             5.2548607
## 19        Tamarindus indica             0.0000000             5.2548607
## 20        Taminalia brownii             0.0000000             0.0000000
## 21     Tarminalia prunoides             0.0000000             0.7882291
## 22           Teclea nobilis             0.0000000             0.0000000
## 23       Vangueria infausta             0.0000000             4.0462428
## 24   Zanthoxilium chelybeum             0.0000000             0.0000000
##    Canopy_Trees_Dry_Suam
## 1               0.000000
## 2               0.000000
## 3               0.000000
## 4              14.065817
## 5               7.112527
## 6               1.486200
## 7              18.789809
## 8               5.307856
## 9               8.917197
## 10             18.949045
## 11              0.000000
## 12              2.653928
## 13              0.000000
## 14              0.000000
## 15              0.000000
## 16              0.000000
## 17              0.000000
## 18              0.000000
## 19              0.000000
## 20              6.900212
## 21              0.000000
## 22              6.528662
## 23              0.000000
## 24              9.288747
# Rename the column names for the newly created dataframe
colnames(Canopy_Cover_Trees_Dry) <- c ("Tree Species", "Chepararia", "Riwo", "Suam")
print(Canopy_Cover_Trees_Dry)
##               Tree Species Chepararia       Riwo      Suam
## 1     Acacia drepanalobium  0.4553216  0.0000000  0.000000
## 2          Acacia gerardii 14.7410359  0.0000000  0.000000
## 3             Acacia lahai  3.0165054  0.0000000  0.000000
## 4         Acacia mellifera  5.3500285  5.9379926 14.065817
## 5          Acacia nilotica  5.6346044 26.6946926  7.112527
## 6           Acacia senegal  6.8867388  0.0000000  1.486200
## 7          Acacia tortilis  3.3010814  0.0000000 18.789809
## 8            Albizia amara 11.2122937 17.1833946  5.307856
## 9    Albizia antialmintica  0.0000000  0.0000000  8.917197
## 10    Balanites aegyptiaca 24.9857712 28.4813452 18.949045
## 11         Boscia coriacea 17.0745589  0.0000000  0.000000
## 12      Boscia salicifolia  0.0000000  0.0000000  2.653928
## 13    Croton macrostachyus  5.6915196  0.0000000  0.000000
## 14          Grewia bicolor  1.5367103  0.0000000  0.000000
## 15            Lannea falva  0.0000000  4.0987914  0.000000
## 16 Ormocarpum trichocarpum  0.1138304  0.0000000  0.000000
## 17      Priostigma thognii  0.0000000  2.2595901  0.000000
## 18       Sclerocaro birrea  0.0000000  5.2548607  0.000000
## 19       Tamarindus indica  0.0000000  5.2548607  0.000000
## 20       Taminalia brownii  0.0000000  0.0000000  6.900212
## 21    Tarminalia prunoides  0.0000000  0.7882291  0.000000
## 22          Teclea nobilis  0.0000000  0.0000000  6.528662
## 23      Vangueria infausta  0.0000000  4.0462428  0.000000
## 24  Zanthoxilium chelybeum  0.0000000  0.0000000  9.288747
View(Canopy_Cover_Trees_Dry)

# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Canopy_Trees_Dry_Long <- Canopy_Cover_Trees_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Canopy")
print(Canopy_Trees_Dry_Long)
## # A tibble: 72 × 3
##    `Tree Species`       Wards      Canopy
##    <chr>                <chr>       <dbl>
##  1 Acacia drepanalobium Chepararia  0.455
##  2 Acacia drepanalobium Riwo        0    
##  3 Acacia drepanalobium Suam        0    
##  4 Acacia gerardii      Chepararia 14.7  
##  5 Acacia gerardii      Riwo        0    
##  6 Acacia gerardii      Suam        0    
##  7 Acacia lahai         Chepararia  3.02 
##  8 Acacia lahai         Riwo        0    
##  9 Acacia lahai         Suam        0    
## 10 Acacia mellifera     Chepararia  5.35 
## # … with 62 more rows
# Anova analysis assess the impact of land use on tree canopy cover during the Dry season
Anova_Canopy_Trees_Dry <- aov (Canopy ~ Wards, data = Canopy_Trees_Dry_Long)
summary (Anova_Canopy_Trees_Dry)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Wards        2      0     0.0       0      1
## Residuals   69   3374    48.9
# DRY SEASON BIOMASS PRODUCTION
#Import the biomass dataset
Biomass_Dry <- read_xlsx("WP_Vegetation.xlsx", sheet = 10)
view(Biomass_Dry)

Biomass_Dry <- Biomass_Dry %>% 
  slice(1:3)
View(Biomass_Dry)

Biomass_Dry_Chep <- (Biomass_Dry$Chepararia/2)
print(Biomass_Dry_Chep)
## [1] 15.0  2.5 17.5
Biomass_Dry_Riwo <- (Biomass_Dry$Riwo/2)
print(Biomass_Dry_Riwo)
## [1] 0 0 0
Biomass_Dry_Suam <- (Biomass_Dry$Suam/2)
print(Biomass_Dry_Suam)
## [1] 0 0 0
Biomass_Prod_Dry <- data.frame (Biomass_Dry$Lifeform,Biomass_Dry_Chep, Biomass_Dry_Riwo, Biomass_Dry_Suam)
print(Biomass_Prod_Dry)
##   Biomass_Dry.Lifeform Biomass_Dry_Chep Biomass_Dry_Riwo Biomass_Dry_Suam
## 1              Grasses             15.0                0                0
## 2                Forbs              2.5                0                0
## 3        Total Biomass             17.5                0                0
#To then approximate biomass production in tonnes per hectare, the sample weights will be divided by the area of the quadrat (0.25) then multiplied by 10,000m2 to convert to hectares, then divided by 1,000,000 to convert to tonnes - giving weight in tonnes/ha
Biomass_Dry_Chep <- ((Biomass_Prod_Dry$Biomass_Dry_Chep/0.25 *10000)/1000000)
print(Biomass_Dry_Chep)
## [1] 0.6 0.1 0.7
Biomass_Dry_Riwo <- ((Biomass_Prod_Dry$Biomass_Dry_Riwo/0.25*10000)/1000000)
print(Biomass_Dry_Riwo)
## [1] 0 0 0
Biomass_Dry_Suam <- ((Biomass_Prod_Dry$Biomass_Dry_Suam/0.25*10000)/1000000)
print(Biomass_Dry_Suam)
## [1] 0 0 0
Biomass_Dry_WP <- data.frame(Lifeform <- c("Grasses", "Forbs", "Total Biomass"), Biomass_Dry_Chep, Biomass_Dry_Riwo, Biomass_Dry_Suam)
print(Biomass_Dry_WP)
##   Lifeform....c..Grasses....Forbs....Total.Biomass.. Biomass_Dry_Chep
## 1                                            Grasses              0.6
## 2                                              Forbs              0.1
## 3                                      Total Biomass              0.7
##   Biomass_Dry_Riwo Biomass_Dry_Suam
## 1                0                0
## 2                0                0
## 3                0                0
# Rename the column names for the newly created data frame
colnames(Biomass_Dry_WP) <- c ("Lifeform", "Chepararia", "Riwo", "Suam")
print(Biomass_Dry_WP)
##        Lifeform Chepararia Riwo Suam
## 1       Grasses        0.6    0    0
## 2         Forbs        0.1    0    0
## 3 Total Biomass        0.7    0    0
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Biomass_Dry_WP_Long <- Biomass_Prod_Dry %>%
  pivot_longer(cols = c(2:4), names_to = "Wards", values_to = "Biomass")
print(Biomass_Dry_WP_Long)
## # A tibble: 9 × 3
##   Biomass_Dry.Lifeform Wards            Biomass
##   <chr>                <chr>              <dbl>
## 1 Grasses              Biomass_Dry_Chep    15  
## 2 Grasses              Biomass_Dry_Riwo     0  
## 3 Grasses              Biomass_Dry_Suam     0  
## 4 Forbs                Biomass_Dry_Chep     2.5
## 5 Forbs                Biomass_Dry_Riwo     0  
## 6 Forbs                Biomass_Dry_Suam     0  
## 7 Total Biomass        Biomass_Dry_Chep    17.5
## 8 Total Biomass        Biomass_Dry_Riwo     0  
## 9 Total Biomass        Biomass_Dry_Suam     0
# Anova analysis assess the impact of land use on Biomass production during the Dry season
Anova_Biomass_Dry_WP <- aov (Biomass ~ Wards, data = Biomass_Dry_WP_Long)
summary (Anova_Biomass_Dry_WP)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Wards        2  272.2  136.11   6.323 0.0333 *
## Residuals    6  129.2   21.53                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# C. TESTING IF SEASONALITY HAS A SIGNIFICANT EFFECT ON THE VARIOUS VEGETATION ATTRIBUTES
# C.1. SPECIES DIVERSITY
# C.1.a. CHEPARARIA - AGROPASTORAL LAND USE SYSTEM
Chepararia_Diversity <- data.frame(Lifeforms, Diversity_Wet_Chepararia, Diversity_Dry_Chepararia)
print(Chepararia_Diversity)
##   Lifeforms Diversity_Wet_Chepararia Diversity_Dry_Chepararia
## 1   Grasses                 2.027927                 1.629261
## 2     Forbs                 1.910521                 1.406851
## 3    Shrubs                 2.352299                 2.604089
## 4     Trees                 2.475307                 2.584102
# Rename the column names for the newly created dataframe
colnames(Chepararia_Diversity) <- c ("Lifeforms", "Wet", "Dry")
print(Chepararia_Diversity)
##   Lifeforms      Wet      Dry
## 1   Grasses 2.027927 1.629261
## 2     Forbs 1.910521 1.406851
## 3    Shrubs 2.352299 2.604089
## 4     Trees 2.475307 2.584102
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Chepararia_Diversity_Long <- Chepararia_Diversity %>%
  pivot_longer(cols = c(2,3), names_to = "Seasons", values_to = "Diversity")
print(Chepararia_Diversity_Long)
## # A tibble: 8 × 3
##   Lifeforms Seasons Diversity
##   <chr>     <chr>       <dbl>
## 1 Grasses   Wet          2.03
## 2 Grasses   Dry          1.63
## 3 Forbs     Wet          1.91
## 4 Forbs     Dry          1.41
## 5 Shrubs    Wet          2.35
## 6 Shrubs    Dry          2.60
## 7 Trees     Wet          2.48
## 8 Trees     Dry          2.58
# Anova analysis assess the impact of land use on Biomass production during the Dry season
Anova_Chepararia_Diversity <- aov (Diversity ~ Seasons, data = Chepararia_Diversity_Long)
summary (Anova_Chepararia_Diversity)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Seasons      1 0.0367 0.03669   0.158  0.705
## Residuals    6 1.3949 0.23248
# C.1.b RIWO - SEMI-TRANSHUMANCE LAND USE SYSTEM
Riwo_Diversity <-  data.frame(Lifeforms, Diversity_Wet_Riwo, Diversity_Dry_Riwo)
print(Riwo_Diversity)
##   Lifeforms Diversity_Wet_Riwo Diversity_Dry_Riwo
## 1   Grasses           2.328463           1.479434
## 2     Forbs           2.276369           0.840778
## 3    Shrubs           2.118296           1.222082
## 4     Trees           2.365646           1.541546
# Rename the column names for the newly created data frame
colnames(Riwo_Diversity) <- c ("Lifeforms", "Wet", "Dry")
print(Riwo_Diversity)
##   Lifeforms      Wet      Dry
## 1   Grasses 2.328463 1.479434
## 2     Forbs 2.276369 0.840778
## 3    Shrubs 2.118296 1.222082
## 4     Trees 2.365646 1.541546
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Riwo_Diversity_Long <- Riwo_Diversity %>%
  pivot_longer(cols = c(2,3), names_to = "Seasons", values_to = "Diversity")
print(Riwo_Diversity_Long)
## # A tibble: 8 × 3
##   Lifeforms Seasons Diversity
##   <chr>     <chr>       <dbl>
## 1 Grasses   Wet         2.33 
## 2 Grasses   Dry         1.48 
## 3 Forbs     Wet         2.28 
## 4 Forbs     Dry         0.841
## 5 Shrubs    Wet         2.12 
## 6 Shrubs    Dry         1.22 
## 7 Trees     Wet         2.37 
## 8 Trees     Dry         1.54
# Anova analysis assess the impact of land use on Biomass production during the Dry season
Anova_Riwo_Diversity <- aov (Diversity ~ Seasons, data = Riwo_Diversity_Long)
summary (Anova_Riwo_Diversity)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Seasons      1 2.0049  2.0049   35.41 0.00101 **
## Residuals    6 0.3397  0.0566                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# C.1.c SUAM - PASTORAL LAND USE SYSTEM
Suam_Diversity <- data.frame(Lifeforms, Diversity_Wet_Suam, Diversity_Dry_Suam)
print(Suam_Diversity)
##   Lifeforms Diversity_Wet_Suam Diversity_Dry_Suam
## 1   Grasses           1.800271           1.235784
## 2     Forbs           1.577628           1.427361
## 3    Shrubs           2.434486           2.141341
## 4     Trees           2.148001           1.853440
# Rename the column names for the newly created data frame
colnames(Suam_Diversity) <- c ("Lifeforms", "Wet", "Dry")
print(Suam_Diversity)
##   Lifeforms      Wet      Dry
## 1   Grasses 1.800271 1.235784
## 2     Forbs 1.577628 1.427361
## 3    Shrubs 2.434486 2.141341
## 4     Trees 2.148001 1.853440
# Reshape the data into long format suitable for ANOVA using the pivot_longer function on the tidyr package
Suam_Diversity_Long <- Suam_Diversity %>%
  pivot_longer(cols = c(2,3), names_to = "Seasons", values_to = "Diversity")
print(Suam_Diversity_Long)
## # A tibble: 8 × 3
##   Lifeforms Seasons Diversity
##   <chr>     <chr>       <dbl>
## 1 Grasses   Wet          1.80
## 2 Grasses   Dry          1.24
## 3 Forbs     Wet          1.58
## 4 Forbs     Dry          1.43
## 5 Shrubs    Wet          2.43
## 6 Shrubs    Dry          2.14
## 7 Trees     Wet          2.15
## 8 Trees     Dry          1.85
# Anova analysis assess the impact of land use on Biomass production during the Dry season
Anova_Suam_Diversity <- aov (Diversity ~ Seasons, data = Suam_Diversity_Long)
summary (Anova_Suam_Diversity)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Seasons      1 0.2121  0.2120   1.366  0.287
## Residuals    6 0.9317  0.1553
# C.2. DENSITY
# C.2.a CHEPARARIA - AGROPASTORAL LAND USE SYSTEM
Chepararia_Density_Wet <- data.frame (Grasses_Wet$Species, Density_Grasses_Wet_Chep)
print(Chepararia_Density_Wet)
##         Grasses_Wet.Species Density_Grasses_Wet_Chep
## 1         Aristida adoensis                  1080000
## 2     Aristida adscensionis                  2040000
## 3     Bothriocloa insculpta                  6320000
## 4        Brachiaria deflexa                        0
## 5        Cenchrus setigerus                        0
## 6        Chloris pycnothrix                   240000
## 7      Chloris roxburghiana                    40000
## 8   Cymbopogon pospischilii                    40000
## 9          Cynodon dactylon                  3720000
## 10         Cyperus rotundus                        0
## 11 Dactyloctenium aegyptium                   560000
## 12       Digitaria velutina                  1120000
## 13     Echinochloa stagnina                   160000
## 14          Eleusine indica                  1040000
## 15       Eragrostis brownii                        0
## 16      Eragrostis congesta                        0
## 17       Eragrostis superba                   240000
## 18      Harpachne schimperi                        0
## 19    Heteropogon contortus                    40000
## 20     Hyparrhenia lintonii                   160000
## 21      Melinis minutiflora                  1480000
## 22           Melinis repens                   240000
## 23     Setaria verticillata                        0
## 24   Sporobolus pyramidalis                        0
colnames(Chepararia_Density_Wet) <- c ("Species", "Density")
print(Chepararia_Density_Wet)
##                     Species Density
## 1         Aristida adoensis 1080000
## 2     Aristida adscensionis 2040000
## 3     Bothriocloa insculpta 6320000
## 4        Brachiaria deflexa       0
## 5        Cenchrus setigerus       0
## 6        Chloris pycnothrix  240000
## 7      Chloris roxburghiana   40000
## 8   Cymbopogon pospischilii   40000
## 9          Cynodon dactylon 3720000
## 10         Cyperus rotundus       0
## 11 Dactyloctenium aegyptium  560000
## 12       Digitaria velutina 1120000
## 13     Echinochloa stagnina  160000
## 14          Eleusine indica 1040000
## 15       Eragrostis brownii       0
## 16      Eragrostis congesta       0
## 17       Eragrostis superba  240000
## 18      Harpachne schimperi       0
## 19    Heteropogon contortus   40000
## 20     Hyparrhenia lintonii  160000
## 21      Melinis minutiflora 1480000
## 22           Melinis repens  240000
## 23     Setaria verticillata       0
## 24   Sporobolus pyramidalis       0
Chepararia_Density_Dry <- data.frame(Grasses_Dry$Species, Density_Grasses_Dry_Chep)
print(Chepararia_Density_Dry)
##         Grasses_Dry.Species Density_Grasses_Dry_Chep
## 1         Aristida adoensis                   120000
## 2    Aristida adonseniensis                   160000
## 3        Aristida keniensis                    40000
## 4    Bothriochloa insculpta                  6120000
## 5        Brachiaria deflexa                        0
## 6  Cenchrus pennisetiformis                   120000
## 7        Chloris pycnothrix                  1160000
## 8    Chrysopogon plumulosus                   880000
## 9          Cynodon dactylon                  2480000
## 10       Digitaria velutina                    80000
## 11          Eleusine indica                    40000
## 12      Eragrostis ciliaris                        0
## 13      Eragrostis congesta                        0
## 14       Eragrostis superba                    40000
## 15      Harpachne schimperi                        0
## 16    Heteropogon contortus                  2200000
## 17         Microcloa kunthi                        0
## 18           Melinis repens                    80000
## 19   Sporobolus pyramidalis                    80000
## 20    Tetrapogon spathecius                        0
colnames(Chepararia_Density_Dry) <- c ("Species", "Density")

Chepararia_Density <- merge(Chepararia_Density_Wet, Chepararia_Density_Dry, by = "Species", all = TRUE, na.rm = TRUE)
print(Chepararia_Density)
##                     Species Density.x Density.y
## 1         Aristida adoensis   1080000    120000
## 2    Aristida adonseniensis        NA    160000
## 3     Aristida adscensionis   2040000        NA
## 4        Aristida keniensis        NA     40000
## 5    Bothriochloa insculpta        NA   6120000
## 6     Bothriocloa insculpta   6320000        NA
## 7        Brachiaria deflexa         0         0
## 8  Cenchrus pennisetiformis        NA    120000
## 9        Cenchrus setigerus         0        NA
## 10       Chloris pycnothrix    240000   1160000
## 11     Chloris roxburghiana     40000        NA
## 12   Chrysopogon plumulosus        NA    880000
## 13  Cymbopogon pospischilii     40000        NA
## 14         Cynodon dactylon   3720000   2480000
## 15         Cyperus rotundus         0        NA
## 16 Dactyloctenium aegyptium    560000        NA
## 17       Digitaria velutina   1120000     80000
## 18     Echinochloa stagnina    160000        NA
## 19          Eleusine indica   1040000     40000
## 20       Eragrostis brownii         0        NA
## 21      Eragrostis ciliaris        NA         0
## 22      Eragrostis congesta         0         0
## 23       Eragrostis superba    240000     40000
## 24      Harpachne schimperi         0         0
## 25    Heteropogon contortus     40000   2200000
## 26     Hyparrhenia lintonii    160000        NA
## 27      Melinis minutiflora   1480000        NA
## 28           Melinis repens    240000     80000
## 29         Microcloa kunthi        NA         0
## 30     Setaria verticillata         0        NA
## 31   Sporobolus pyramidalis         0     80000
## 32    Tetrapogon spathecius        NA         0
view(Chepararia_Density)