R/Exam5.2.R

#' @title    Example 5.2 from Experimental Design and Analysis for Tree Improvement
#' @name     Exam5.2
#' @description Exam5.2 presents the height of 37 seedlots from 6 sites.
#'
#' @author
#' \enumerate{
#'          \item  Muhammad Yaseen (\email{myaseen208@@gmail.com})
#'          \item  Sami Ullah (\email{samiullahuos@@gmail.com})
#'          }
#'
#' @references
#' \enumerate{
#'          \item E.R. Williams, C.E. Harwood and A.C. Matheson (2023). \emph{Experimental Design and Analysis for Tree Improvement}.
#'                CSIRO Publishing (\href{https://www.publish.csiro.au/book/3145/}{https://www.publish.csiro.au/book/3145/}).
#'              }
#'
#' @seealso
#'    \code{\link{DataExam5.2}}
#'
#' @importFrom car Anova
#' @import dae
#' @import dplyr
#' @importFrom emmeans emmeans emmip
#' @import ggplot2
#' @importFrom lmerTest lmer
#' @importFrom magrittr %>%
#' @import predictmeans
#' @importFrom stats lm anova model.tables
#' @importFrom supernova supernova
#'
#' @examples
#' library(car)
#' library(dae)
#' library(dplyr)
#' library(emmeans)
#' library(ggplot2)
#' library(lmerTest)
#' library(magrittr)
#' library(predictmeans)
#' library(supernova)
#'
#' data(DataExam5.2)
#'
#  # Pg. 75
#' fm5.7 <- lm(formula = Ht ~ Site*SeedLot, data = DataExam5.2)
#'
#' # Pg. 77
#' anova(fm5.7)
#'
#' fm5.9 <- lm(formula = Ht ~ Site*SeedLot, data = DataExam5.2)
#' # Pg. 77
#' anova(fm5.9)
#'
#' ANOVAfm5.9 <- anova(fm5.9)
#'
#' ANOVAfm5.9[4, 1:3] <- c(384, 384*964, 964)
#' ANOVAfm5.9[3, 4]   <- ANOVAfm5.9[3, 3]/ANOVAfm5.9[4, 3]
#' ANOVAfm5.9[3, 5]   <- pf(
#'                             q = ANOVAfm5.9[3, 4]
#'                         , df1 = ANOVAfm5.9[3, 1]
#'                         , df2 = ANOVAfm5.9[4, 1]
#'                         , lower.tail = FALSE
#'                         )
#' # Pg. 77
#' ANOVAfm5.9
#'
#'
#' Tab5.14 <-
#'   DataExam5.2 %>%
#'       summarise(Mean = mean(Ht, na.rm = TRUE), .by = SeedLot) %>%
#'     left_join(
#'       DataExam5.2 %>%
#'         nest_by(SeedLot) %>%
#'         mutate(fm2 = list(lm(Ht ~ SiteMean, data = data))) %>%
#'         summarise(Slope = coef(fm2)[2])
#'     , by = "SeedLot"
#'       )
#'
#' # Pg. 81
#' Tab5.14
#'
#'
#' DevSS2 <-
#'         DataExam5.2 %>%
#'         nest_by(SeedLot) %>%
#'         mutate(fm2 = list(lm(Ht ~ SiteMean, data = data))) %>%
#'         summarise(SSE = anova(fm2)[2, 2]) %>%
#'         ungroup() %>%
#'         summarise(Dev = sum(SSE)) %>%
#'         as.numeric()
#'
#'
#' ANOVAfm5.9.1 <-
#'   rbind(
#'      ANOVAfm5.9[1:3, ]
#'    , c(
#'         ANOVAfm5.9[2, 1]
#'       , ANOVAfm5.9[3, 2] - DevSS2
#'       , (ANOVAfm5.9[3, 2] - DevSS2)/ANOVAfm5.9[2, 1]
#'       , NA
#'       , NA
#'       )
#'    , c(
#'         ANOVAfm5.9[3, 1]-ANOVAfm5.9[2, 1]
#'       , DevSS2
#'       , DevSS2/(ANOVAfm5.9[3, 1]-ANOVAfm5.9[2, 1])
#'       , DevSS2/(ANOVAfm5.9[3, 1]-ANOVAfm5.9[2, 1])/ANOVAfm5.9[4, 3]
#'       , pf(
#'               q = DevSS2/(ANOVAfm5.9[3, 1]-ANOVAfm5.9[2, 1])/ANOVAfm5.9[4, 3]
#'           , df1 = ANOVAfm5.9[3, 1]-ANOVAfm5.9[2, 1]
#'           , df2 = ANOVAfm5.9[4, 1]
#'           , lower.tail = FALSE
#'           )
#'       )
#'    , ANOVAfm5.9[4, ]
#'   )
#' rownames(ANOVAfm5.9.1) <-
#'   c("Site", "SeedLot", "Site:SeedLot", "  regressions", "  deviations", "Residuals")
#' # Pg. 82
#' ANOVAfm5.9.1
#'
#' Code <- c("a","a","a","a","b","b","b","b","c","d","d","d","d","e","f","g",
#'      "h","h","i","i","j","k","l","m","n","n","n","o","p","p","q","r",
#'      "s","t","t","u","v")
#'
#' Tab5.14$Code <- Code
#'
#' ggplot(data = Tab5.14, mapping = aes(x = Mean, y = Slope))+
#'  geom_point(size = 2) +
#'  geom_text(aes(label = Code), hjust = -0.5, vjust = -0.5)+
#'  theme_bw() +
#'  labs(
#'      x = "SeedLot Mean"
#'    , y = "Regression Coefficient"
#'    )
#'
NULL

Try the eda4treeR package in your browser

Any scripts or data that you put into this service are public.

eda4treeR documentation built on May 1, 2023, 9:07 a.m.