This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.1 ✔ readr 2.1.4
## ✔ 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 ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(lme4)
## Loading required package: Matrix
##
## Attaching package: 'Matrix'
##
## The following objects are masked from 'package:tidyr':
##
## expand, pack, unpack
library(lmerTest)
##
## Attaching package: 'lmerTest'
##
## The following object is masked from 'package:lme4':
##
## lmer
##
## The following object is masked from 'package:stats':
##
## step
library(emmeans)
library(plyr)
## ------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ------------------------------------------------------------------------------
##
## Attaching package: 'plyr'
##
## The following objects are masked from 'package:dplyr':
##
## arrange, count, desc, failwith, id, mutate, rename, summarise,
## summarize
##
## The following object is masked from 'package:purrr':
##
## compact
library(MuMIn)
library(performance)
library(ggstatsplot)
## You can cite this package as:
## Patil, I. (2021). Visualizations with statistical details: The 'ggstatsplot' approach.
## Journal of Open Source Software, 6(61), 3167, doi:10.21105/joss.03167
library(effectsize)
set.seed(1234)
Data<- read.csv("Rotating_diet.csv")
data.sex<- Data[Data$Sex != "",] #remove all rows missing sex
data.color<-data.sex[data.sex$Color !="",] #remove all rows missing color
data.pupa<-data.color[data.color$Pupation !="0",] #remove all rows of non-pupating individuals
data.mort<-data.pupa[data.pupa$Mortality !="1",] # remove all rows of individuals that died
data.host<-data.mort[data.mort$host !="",] # removing all rows missing host data
data.1<- data.host[data.host$Pupa.mass !="missing",]
data <- data.1[data.1$pupa.date !="missing",]
data<-data[data$Mat..line != "138A",] #remove matrilines that are not complete
data<-data[data$Mat..line != "143A",]#remove matrilines that are not complete
dev<- data
table(dev$Sex, dev$Color)
##
## B R
## f 484 169
## m 549 140
"Test if sex and color interaction effect development time"
## [1] "Test if sex and color interaction effect development time"
mod.1<- lmer(Dev_time~Sex*Color+(1|Mat..line),data=dev)
summary(mod.1)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Dev_time ~ Sex * Color + (1 | Mat..line)
## Data: dev
##
## REML criterion at convergence: 5962.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.8504 -0.5882 -0.0666 0.4567 6.3476
##
## Random effects:
## Groups Name Variance Std.Dev.
## Mat..line (Intercept) 10.076 3.174
## Residual 6.467 2.543
## Number of obs: 1250, groups: Mat..line, 19
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 37.3512 0.8281 17.3498 45.104 < 2e-16 ***
## Sexm -1.2942 0.1628 1229.2348 -7.950 4.19e-15 ***
## ColorR 12.8859 1.8031 17.2837 7.147 1.49e-06 ***
## Sexm:ColorR -0.1266 0.3592 1229.4014 -0.352 0.725
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) Sexm ColorR
## Sexm -0.105
## ColorR -0.459 0.048
## Sexm:ColorR 0.047 -0.453 -0.093
anova(mod.1)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## Sex 369.43 369.43 1 1229.40 57.1281 7.950e-14 ***
## Color 329.88 329.88 1 16.99 51.0126 1.656e-06 ***
## Sex:Color 0.80 0.80 1 1229.40 0.1241 0.7247
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
r.squaredGLMM(mod.1)
## Warning: 'r.squaredGLMM' now calculates a revised statistic. See the help page.
## R2m R2c
## [1,] 0.6279265 0.8545507
print("(Random effect size = conditional R squared) - (marginal R squared)" )
## [1] "(Random effect size = conditional R squared) - (marginal R squared)"
(0.853-0.626)*100
## [1] 22.7
print(" eta-squared for sex")
## [1] " eta-squared for sex"
F_to_eta2(58.428, 1, 1246)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.04 | [0.03, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
print(" eta-squared for biotype")
## [1] " eta-squared for biotype"
F_to_eta2(50.664, 1, 17)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.75 | [0.54, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
print(" eta-squared for interaction")
## [1] " eta-squared for interaction"
F_to_eta2(0.2306, 1, 1246)
## Eta2 (partial) | 95% CI
## -----------------------------
## 1.85e-04 | [0.00, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
emmeans(mod.1, list(pairwise~Sex*Color), adjust="tukey") # sex and color must be run as independent separate models
## $`emmeans of Sex, Color`
## Sex Color emmean SE df lower.CL upper.CL
## f B 37.4 0.828 17.4 35.6 39.1
## m B 36.1 0.827 17.3 34.3 37.8
## f R 50.2 1.602 17.3 46.9 53.6
## m R 48.8 1.605 17.4 45.4 52.2
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $`pairwise differences of Sex, Color`
## 1 estimate SE df t.ratio p.value
## f B - m B 1.29 0.163 1229.3 7.950 <.0001
## f B - f R -12.89 1.803 17.3 -7.147 <.0001
## f B - m R -11.47 1.806 17.4 -6.349 <.0001
## m B - f R -14.18 1.803 17.3 -7.866 <.0001
## m B - m R -12.76 1.805 17.4 -7.067 <.0001
## f R - m R 1.42 0.320 1229.5 4.437 0.0001
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 4 estimates
dev.black<-subset(dev, Color == "B")
dev.red<-subset(dev, Color=="R")
print(".........Black females ........")
## [1] ".........Black females ........"
dev.fb<-subset(dev.black, Sex== "f")
print("balck female [1] mean, [2] SD, [3] count, [4] SE")
## [1] "balck female [1] mean, [2] SD, [3] count, [4] SE"
mean(na.omit(dev.fb$Dev_time))
## [1] 37.35498
a<-sd(na.omit(dev.fb$Dev_time))
a
## [1] 2.702848
b<-length(na.omit(dev.fb$Dev_time))
b
## [1] 462
a/sqrt(b)
## [1] 0.1257479
print(".........Black males ........")
## [1] ".........Black males ........"
dev.mb<-subset(dev.black, Sex== "m")
print("black male [1] mean, [2] SD, [3] count")
## [1] "black male [1] mean, [2] SD, [3] count"
mean(na.omit(dev.mb$Dev_time))
## [1] 35.99811
sd(na.omit(dev.mb$Dev_time))
## [1] 2.39831
length(na.omit(dev.mb$Dev_time))
## [1] 529
(sd(na.omit(dev.mb$Dev_time)))/sqrt(length(na.omit(dev.mb$Dev_time)))
## [1] 0.1042743
print(".........Red females ........")
## [1] ".........Red females ........"
dev.fr<-subset(dev.red, Sex== "f")
print("red female [1] mean, [2] SD, [3] count")
## [1] "red female [1] mean, [2] SD, [3] count"
mean(na.omit(dev.fr$Dev_time))
## [1] 50.29787
sd(na.omit(dev.fr$Dev_time))
## [1] 7.109093
length(na.omit(dev.fr$Dev_time))
## [1] 141
sd(na.omit(dev.fr$Dev_time))/sqrt(length(na.omit(dev.fr$Dev_time)))
## [1] 0.5986937
print(".........Red males ........")
## [1] ".........Red males ........"
dev.mr<-subset(dev.red, Sex== "m")
print("red male [1] mean, [2] SD, [3] count")
## [1] "red male [1] mean, [2] SD, [3] count"
mean(na.omit(dev.mr$Dev_time))
## [1] 47.64407
sd(na.omit(dev.mr$Dev_time))
## [1] 6.691652
length(na.omit(dev.mr$Dev_time))
## [1] 118
sd(na.omit(dev.mr$Dev_time))/sqrt(length(na.omit(dev.mr$Dev_time)))
## [1] 0.6160165
dev.F<- subset(dev, Sex=="f") # females only
dev.M<- subset(dev, Sex =="m") # males only
dev.F.R<- subset(dev.F, Color=="R") # female Reds only
dev.F.B<- subset(dev.F, Color=="B") # female blacks only
dev.M.R<- subset(dev.M, Color=="R") # male Reds only
dev.M.B<- subset(dev.M, Color=="B") # male blacks only
print(" Black female develoment time (days) ")
## [1] " Black female develoment time (days) "
print(".... Prunus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] ".... Prunus [1] mean, [2]SD, [3] count, [4] SE......"
dev.fb.pru<-subset(dev.fb, host == "B. cherry")
mean(dev.fb.pru$Dev_time, na.rm = TRUE)
## [1] 36.04819
sd(dev.fb.pru$Dev_time, na.rm = TRUE)
## [1] 2.112123
length(dev.fb.pru$Dev_time)
## [1] 94
sd(dev.fb.pru$Dev_time, na.rm = TRUE)/sqrt(length(dev.fb.pru$Dev_time))
## [1] 0.2178489
print("...... Ulmus [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Ulmus [1] mean, [2]SD, [3] count, [4] SE....."
dev.fb.ulm<-subset(dev.fb, host == "Elm")
mean(dev.fb.ulm$Dev_time, na.rm = TRUE)
## [1] 37.34021
sd(dev.fb.ulm$Dev_time, na.rm = TRUE)
## [1] 2.014978
length(dev.fb.ulm$Dev_time)
## [1] 101
sd(dev.fb.ulm$Dev_time, na.rm = TRUE)/sqrt(length(dev.fb.ulm$Dev_time))
## [1] 0.2004978
print("...... Carya [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Carya [1] mean, [2]SD, [3] count, [4] SE....."
dev.fb.car<-subset(dev.fb, host == "Hickory")
mean(dev.fb.car$Dev_time, na.rm = TRUE)
## [1] 38.88421
sd(dev.fb.car$Dev_time, na.rm = TRUE)
## [1] 2.76322
length(dev.fb.car$Dev_time)
## [1] 99
sd(dev.fb.car$Dev_time, na.rm = TRUE)/sqrt(length(dev.fb.car$Dev_time))
## [1] 0.2777141
print("...... Malus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] "...... Malus [1] mean, [2]SD, [3] count, [4] SE......"
dev.fb.mal<-subset(dev.fb, host =="Malus")
mean(dev.fb.mal$Dev_time, na.rm = TRUE)
## [1] 36.64151
sd(dev.fb.mal$Dev_time, na.rm = TRUE)
## [1] 3.117351
length(dev.fb.mal$Dev_time)
## [1] 106
sd(dev.fb.mal$Dev_time, na.rm = TRUE)/sqrt(length(dev.fb.mal$Dev_time))
## [1] 0.3027839
print("...... Rotating [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Rotating [1] mean, [2]SD, [3] count, [4] SE....."
dev.fb.mix<-subset(dev.fb, host == "Mix")
mean(dev.fb.mix$Dev_time, na.rm = TRUE )
## [1] 37.85185
sd(dev.fb.mix$Dev_time, na.rm = TRUE )
## [1] 2.335118
length(dev.fb.mix$Dev_time)
## [1] 84
sd(dev.fb.mix$Dev_time, na.rm = TRUE)/sqrt(length(dev.fb.mix$Dev_time))
## [1] 0.2547823
"female black development time"
## [1] "female black development time"
mod.female.b<- lmer(Dev_time~host+(1|Mother)+(1|Father), data=dev.F.B)
summary(mod.female.b)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Dev_time ~ host + (1 | Mother) + (1 | Father)
## Data: dev.F.B
##
## REML criterion at convergence: 2128.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.4970 -0.5668 -0.0442 0.5359 6.8319
##
## Random effects:
## Groups Name Variance Std.Dev.
## Father (Intercept) 0.2177 0.4666
## Mother (Intercept) 0.8457 0.9196
## Residual 5.6560 2.3782
## Number of obs: 462, groups: Father, 9; Mother, 6
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 36.0975 0.4985 9.3492 72.406 3.57e-14 ***
## hostElm 1.0718 0.3595 451.4804 2.982 0.00302 **
## hostHickory 2.8055 0.3581 446.7111 7.834 3.47e-14 ***
## hostMalus 0.4493 0.3523 449.4292 1.275 0.20290
## hostMix 1.5854 0.3763 452.2771 4.213 3.04e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) hstElm hstHck hstMls
## hostElm -0.391
## hostHickory -0.393 0.535
## hostMalus -0.406 0.548 0.549
## hostMix -0.372 0.523 0.511 0.526
anova(mod.female.b)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## host 436.9 109.22 4 450.18 19.312 1.123e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
r.squaredGLMM(mod.female.b)
## R2m R2c
## [1,] 0.1237883 0.2624592
0.265-0.121
## [1] 0.144
F_to_eta2(19.202, 4, 454)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.14 | [0.09, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
"female black development time Tukey"
## [1] "female black development time Tukey"
emmeans(mod.female.b, list(pairwise~host), adjust="tukey")
## $`emmeans of host`
## host emmean SE df lower.CL upper.CL
## B. cherry 36.1 0.504 10.47 35.0 37.2
## Elm 37.2 0.492 9.66 36.1 38.3
## Hickory 38.9 0.491 9.57 37.8 40.0
## Malus 36.5 0.485 9.08 35.5 37.6
## Mix 37.7 0.506 10.71 36.6 38.8
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $`pairwise differences of host`
## 1 estimate SE df t.ratio p.value
## B. cherry - Elm -1.072 0.360 452 -2.973 0.0257
## B. cherry - Hickory -2.806 0.358 447 -7.831 <.0001
## B. cherry - Malus -0.449 0.353 450 -1.273 0.7080
## B. cherry - Mix -1.585 0.378 453 -4.199 0.0003
## Elm - Hickory -1.734 0.347 451 -4.997 <.0001
## Elm - Malus 0.622 0.339 452 1.835 0.3546
## Elm - Mix -0.514 0.360 450 -1.427 0.6108
## Hickory - Malus 2.356 0.338 447 6.978 <.0001
## Hickory - Mix 1.220 0.364 452 3.348 0.0078
## Malus - Mix -1.136 0.356 452 -3.189 0.0132
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 5 estimates
print(" Black male develoment time (days) ")
## [1] " Black male develoment time (days) "
print(".... Prunus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] ".... Prunus [1] mean, [2]SD, [3] count, [4] SE......"
dev.mb.pru<-subset(dev.mb, host == "B. cherry")
mean(dev.mb.pru$Dev_time, na.rm = TRUE)
## [1] 35.57895
sd(dev.mb.pru$Dev_time, na.rm = TRUE)
## [1] 2.272945
length(dev.mb.pru$Dev_time)
## [1] 125
sd(dev.mb.pru$Dev_time, na.rm = TRUE)/sqrt(length(dev.mb.pru$Dev_time))
## [1] 0.2032984
print("...... Ulmus [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Ulmus [1] mean, [2]SD, [3] count, [4] SE....."
dev.mb.ulm<-subset(dev.mb, host == "Elm")
mean(dev.mb.ulm$Dev_time, na.rm = TRUE)
## [1] 35.4
sd(dev.mb.ulm$Dev_time, na.rm = TRUE)
## [1] 2.293804
length(dev.mb.ulm$Dev_time)
## [1] 109
sd(dev.mb.ulm$Dev_time, na.rm = TRUE)/sqrt(length(dev.mb.ulm$Dev_time))
## [1] 0.2197066
print("...... Carya [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Carya [1] mean, [2]SD, [3] count, [4] SE....."
dev.mb.car<-subset(dev.mb, host == "Hickory")
mean(dev.mb.car$Dev_time, na.rm = TRUE)
## [1] 37.68142
sd(dev.mb.car$Dev_time, na.rm = TRUE)
## [1] 2.56092
length(dev.mb.car$Dev_time)
## [1] 115
sd(dev.mb.car$Dev_time, na.rm = TRUE)/sqrt(length(dev.mb.car$Dev_time))
## [1] 0.238807
print("...... Malus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] "...... Malus [1] mean, [2]SD, [3] count, [4] SE......"
dev.mb.mal<-subset(dev.mb, host =="Malus")
mean(dev.mb.mal$Dev_time, na.rm = TRUE)
## [1] 34.78261
sd(dev.mb.mal$Dev_time, na.rm = TRUE)
## [1] 1.862446
length(dev.mb.mal$Dev_time)
## [1] 95
sd(dev.mb.mal$Dev_time, na.rm = TRUE)/sqrt(length(dev.mb.mal$Dev_time))
## [1] 0.1910829
print("...... Rotating [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Rotating [1] mean, [2]SD, [3] count, [4] SE....."
dev.mb.mix<-subset(dev.mb, host == "Mix")
mean(dev.mb.mix$Dev_time, na.rm = TRUE )
## [1] 36.30476
sd(dev.mb.mix$Dev_time, na.rm = TRUE )
## [1] 1.787369
length(dev.mb.mix$Dev_time)
## [1] 105
sd(dev.mb.mix$Dev_time, na.rm = TRUE)/sqrt(length(dev.mb.mix$Dev_time))
## [1] 0.1744294
Male black model – development time
"male black development time"
## [1] "male black development time"
mod.male.b<- lmer(Dev_time~host+(1|Mother)+(1|Father), data=dev.M.B)
summary(mod.male.b)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Dev_time ~ host + (1 | Mother) + (1 | Father)
## Data: dev.M.B
##
## REML criterion at convergence: 2289.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4179 -0.6970 -0.1036 0.5410 5.3543
##
## Random effects:
## Groups Name Variance Std.Dev.
## Father (Intercept) 0.5944 0.7710
## Mother (Intercept) 0.1080 0.3286
## Residual 4.2580 2.0635
## Number of obs: 529, groups: Father, 9; Mother, 6
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 35.47958 0.35923 15.16874 98.765 < 2e-16 ***
## hostElm -0.03843 0.28090 515.69460 -0.137 0.89122
## hostHickory 2.03802 0.27454 514.20809 7.423 4.77e-13 ***
## hostMalus -0.67396 0.29045 514.98945 -2.320 0.02071 *
## hostMix 0.88074 0.28086 515.14275 3.136 0.00181 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) hstElm hstHck hstMls
## hostElm -0.373
## hostHickory -0.378 0.487
## hostMalus -0.354 0.460 0.468
## hostMix -0.377 0.481 0.485 0.463
anova(mod.male.b)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## host 464.01 116 4 515.1 27.243 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
r.squaredGLMM(mod.male.b)
## R2m R2c
## [1,] 0.1516366 0.2717649
0.274-0.158
## [1] 0.116
F_to_eta2(29.007, 4, 525)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.18 | [0.13, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
"male black development time Tukey"
## [1] "male black development time Tukey"
emmeans(mod.male.b, list(pairwise~host), adjust="tukey")
## $`emmeans of host`
## host emmean SE df lower.CL upper.CL
## B. cherry 35.5 0.364 15.4 34.7 36.3
## Elm 35.4 0.371 16.0 34.7 36.2
## Hickory 37.5 0.366 15.5 36.7 38.3
## Malus 34.8 0.381 17.6 34.0 35.6
## Mix 36.4 0.369 16.0 35.6 37.1
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $`pairwise differences of host`
## 1 estimate SE df t.ratio p.value
## B. cherry - Elm 0.0384 0.281 516 0.137 0.9999
## B. cherry - Hickory -2.0380 0.275 514 -7.418 <.0001
## B. cherry - Malus 0.6740 0.291 515 2.318 0.1409
## B. cherry - Mix -0.8807 0.281 515 -3.133 0.0156
## Elm - Hickory -2.0764 0.281 515 -7.377 <.0001
## Elm - Malus 0.6355 0.297 516 2.137 0.2062
## Elm - Mix -0.9192 0.286 515 -3.211 0.0122
## Hickory - Malus 2.7120 0.292 516 9.278 <.0001
## Hickory - Mix 1.1573 0.282 515 4.104 0.0005
## Malus - Mix -1.5547 0.297 515 -5.242 <.0001
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 5 estimates
print(" Red female develoment time (days) ")
## [1] " Red female develoment time (days) "
print(".... Prunus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] ".... Prunus [1] mean, [2]SD, [3] count, [4] SE......"
dev.fr.pru<-subset(dev.fr, host == "B. cherry")
mean(dev.fr.pru$Dev_time, na.rm = TRUE)
## [1] 51.16129
sd(dev.fr.pru$Dev_time, na.rm = TRUE)
## [1] 7.95444
length(dev.fr.pru$Dev_time)
## [1] 36
sd(dev.fr.pru$Dev_time, na.rm = TRUE)/sqrt(length(dev.fr.pru$Dev_time))
## [1] 1.32574
print("...... Ulmus [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Ulmus [1] mean, [2]SD, [3] count, [4] SE....."
dev.fr.ulm<-subset(dev.fr, host == "Elm")
mean(dev.fr.ulm$Dev_time, na.rm = TRUE)
## [1] 49.03571
sd(dev.fr.ulm$Dev_time, na.rm = TRUE)
## [1] 5.620611
length(dev.fr.ulm$Dev_time)
## [1] 36
sd(dev.fr.ulm$Dev_time, na.rm = TRUE)/sqrt(length(dev.fr.ulm$Dev_time))
## [1] 0.9367685
print("...... Carya [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Carya [1] mean, [2]SD, [3] count, [4] SE....."
dev.fr.car<-subset(dev.fr, host == "Hickory")
mean(dev.fr.car$Dev_time, na.rm = TRUE)
## [1] 48.53333
sd(dev.fr.car$Dev_time, na.rm = TRUE)
## [1] 6.463336
length(dev.fr.car$Dev_time)
## [1] 39
sd(dev.fr.car$Dev_time, na.rm = TRUE)/sqrt(length(dev.fr.car$Dev_time))
## [1] 1.034962
print("...... Malus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] "...... Malus [1] mean, [2]SD, [3] count, [4] SE......"
dev.fr.mal<-subset(dev.fr, host =="Malus")
mean(dev.fr.mal$Dev_time, na.rm = TRUE)
## [1] 52
sd(dev.fr.mal$Dev_time, na.rm = TRUE)
## [1] 8.151966
length(dev.fr.mal$Dev_time)
## [1] 29
sd(dev.fr.mal$Dev_time, na.rm = TRUE)/sqrt(length(dev.fr.mal$Dev_time))
## [1] 1.513782
print("...... Rotating [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Rotating [1] mean, [2]SD, [3] count, [4] SE....."
dev.fr.mix<-subset(dev.fr, host == "Mix")
mean(dev.fr.mix$Dev_time, na.rm = TRUE )
## [1] 51.06897
sd(dev.fr.mix$Dev_time, na.rm = TRUE )
## [1] 7.085856
length(dev.fr.mix$Dev_time)
## [1] 29
sd(dev.fr.mix$Dev_time, na.rm = TRUE)/sqrt(length(dev.fr.mix$Dev_time))
## [1] 1.31581
"female red development time"
## [1] "female red development time"
mod.female.r<- lmer(Dev_time~host+(1|Mother)+(1|Father), data=dev.F.R)
summary(mod.female.r)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Dev_time ~ host + (1 | Mother) + (1 | Father)
## Data: dev.F.R
##
## REML criterion at convergence: 725.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.8817 -0.6696 -0.0809 0.6123 3.9384
##
## Random effects:
## Groups Name Variance Std.Dev.
## Father (Intercept) 5.207e+01 7.2159214
## Mother (Intercept) 2.719e-07 0.0005215
## Residual 9.541e+00 3.0888177
## Number of obs: 141, groups: Father, 4; Mother, 3
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 51.1813 3.6509 3.1120 14.019 0.000647 ***
## hostElm -1.5958 0.8190 133.0528 -1.949 0.053454 .
## hostHickory -2.7668 0.7976 133.0260 -3.469 0.000705 ***
## hostMalus 0.2737 0.8506 133.0025 0.322 0.748133
## hostMix -0.5742 0.7988 133.0035 -0.719 0.473500
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) hstElm hstHck hstMls
## hostElm -0.105
## hostHickory -0.108 0.486
## hostMalus -0.099 0.442 0.453
## hostMix -0.106 0.477 0.487 0.454
anova(mod.female.r)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## host 171.68 42.921 4 133.03 4.4987 0.001931 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
r.squaredGLMM(mod.female.r)
## R2m R2c
## [1,] 0.0201185 0.8482584
0.85-0.02
## [1] 0.83
r.squaredGLMM(mod.female.r)
## R2m R2c
## [1,] 0.0201185 0.8482584
F_to_eta2(4.6096, 4, 135)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.12 | [0.03, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
"female black development time Tukey"
## [1] "female black development time Tukey"
emmeans(mod.female.r, list(pairwise~host), adjust="tukey")
## $`emmeans of host`
## host emmean SE df lower.CL upper.CL
## B. cherry 51.2 4.96 1.45 19.9 82.5
## Elm 49.6 4.96 1.46 18.5 80.7
## Hickory 48.4 4.95 1.45 17.3 79.6
## Malus 51.5 4.97 1.47 20.8 82.1
## Mix 50.6 4.96 1.45 19.4 81.8
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $`pairwise differences of host`
## 1 estimate SE df t.ratio p.value
## B. cherry - Elm 1.596 0.819 133 1.948 0.2974
## B. cherry - Hickory 2.767 0.798 133 3.469 0.0062
## B. cherry - Malus -0.274 0.851 133 -0.322 0.9977
## B. cherry - Mix 0.574 0.799 133 0.719 0.9518
## Elm - Hickory 1.171 0.820 133 1.429 0.6103
## Elm - Malus -1.869 0.882 133 -2.119 0.2181
## Elm - Mix -1.022 0.828 133 -1.234 0.7316
## Hickory - Malus -3.040 0.864 133 -3.521 0.0053
## Hickory - Mix -2.193 0.809 133 -2.711 0.0577
## Malus - Mix 0.848 0.863 133 0.983 0.8627
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 5 estimates
print(" Red male develoment time (days) ")
## [1] " Red male develoment time (days) "
print(".... Prunus [1] mean, [2]SD, [3] count, [4] SD, [4] SE......")
## [1] ".... Prunus [1] mean, [2]SD, [3] count, [4] SD, [4] SE......"
dev.mr.pru<-subset(dev.mr, host == "B. cherry")
mean(dev.mr.pru$Dev_time, na.rm = TRUE)
## [1] 49.68182
sd(dev.mr.pru$Dev_time, na.rm = TRUE)
## [1] 7.147336
length(dev.mr.pru$Dev_time)
## [1] 26
sd(dev.mr.pru$Dev_time, na.rm = TRUE)/sqrt(length(dev.mr.pru$Dev_time))
## [1] 1.401708
print("...... Ulmus [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Ulmus [1] mean, [2]SD, [3] count, [4] SE....."
dev.mr.ulm<-subset(dev.mr, host == "Elm")
mean(dev.mr.ulm$Dev_time, na.rm = TRUE)
## [1] 46.77778
sd(dev.mr.ulm$Dev_time, na.rm = TRUE)
## [1] 6.34828
length(dev.mr.ulm$Dev_time)
## [1] 25
sd(dev.mr.ulm$Dev_time, na.rm = TRUE)/sqrt(length(dev.mr.ulm$Dev_time))
## [1] 1.269656
print("...... Carya [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Carya [1] mean, [2]SD, [3] count, [4] SE....."
dev.mr.car<-subset(dev.mr, host == "Hickory")
mean(dev.mr.car$Dev_time, na.rm = TRUE)
## [1] 46.40741
sd(dev.mr.car$Dev_time, na.rm = TRUE)
## [1] 7.023364
length(dev.mr.car$Dev_time)
## [1] 32
sd(dev.mr.car$Dev_time, na.rm = TRUE)/sqrt(length(dev.mr.car$Dev_time))
## [1] 1.241567
print("...... Malus [1] mean, [2]SD, [3] count, [4] SE......")
## [1] "...... Malus [1] mean, [2]SD, [3] count, [4] SE......"
dev.mr.mal<-subset(dev.mr, host =="Malus")
mean(dev.mr.mal$Dev_time, na.rm = TRUE)
## [1] 47.43333
sd(dev.mr.mal$Dev_time, na.rm = TRUE)
## [1] 7.280978
length(dev.mr.mal$Dev_time)
## [1] 35
sd(dev.mr.mal$Dev_time, na.rm = TRUE)/sqrt(length(dev.mr.mal$Dev_time))
## [1] 1.23071
print("...... Rotating [1] mean, [2]SD, [3] count, [4] SE.....")
## [1] "...... Rotating [1] mean, [2]SD, [3] count, [4] SE....."
dev.mr.mix<-subset(dev.mr, host == "Mix")
mean(dev.mr.mix$Dev_time, na.rm = TRUE )
## [1] 48.14286
sd(dev.mr.mix$Dev_time, na.rm = TRUE )
## [1] 5.042675
length(dev.mr.mix$Dev_time)
## [1] 22
sd(dev.mr.mix$Dev_time, na.rm = TRUE)/sqrt(length(dev.mr.mix$Dev_time))
## [1] 1.075102
"male red development time"
## [1] "male red development time"
mod.male.r<- lmer(Dev_time~host+(1|Mother)+(1|Father), data=dev.M.R)
## boundary (singular) fit: see help('isSingular')
summary(mod.male.r)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Dev_time ~ host + (1 | Mother) + (1 | Father)
## Data: dev.M.R
##
## REML criterion at convergence: 568.6
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.35249 -0.52109 0.03821 0.49558 2.26504
##
## Random effects:
## Groups Name Variance Std.Dev.
## Father (Intercept) 56.552 7.520
## Mother (Intercept) 0.000 0.000
## Residual 6.754 2.599
## Number of obs: 118, groups: Father, 4; Mother, 3
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 49.56375 3.80094 3.10184 13.040 0.000822 ***
## hostElm 0.52059 0.84241 110.03999 0.618 0.537871
## hostHickory -2.65724 0.75202 110.00949 -3.533 0.000601 ***
## hostMalus -0.51785 0.73328 110.00963 -0.706 0.481552
## hostMix 0.05447 0.79853 110.01508 0.068 0.945738
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) hstElm hstHck hstMls
## hostElm -0.097
## hostHickory -0.109 0.501
## hostMalus -0.110 0.512 0.557
## hostMix -0.100 0.469 0.507 0.535
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
anova(mod.male.r)
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## host 149.92 37.481 4 110.02 5.5497 0.0004161 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
r.squaredGLMM(mod.male.r)
## R2m R2c
## [1,] 0.02032802 0.8954843
0.8954-0.203
## [1] 0.6924
F_to_eta2(5.5497, 4, 110)
## Eta2 (partial) | 95% CI
## -----------------------------
## 0.17 | [0.06, 1.00]
##
## - One-sided CIs: upper bound fixed at [1.00].
"male red development time Tukey"
## [1] "male red development time Tukey"
emmeans(mod.male.r, list(pairwise~host), adjust="tukey")
## $`emmeans of host`
## host emmean SE df lower.CL upper.CL
## B. cherry 49.6 5.16 1.45 17.0 82.2
## Elm 50.1 5.17 1.46 17.8 82.4
## Hickory 46.9 5.16 1.44 13.9 80.0
## Malus 49.0 5.15 1.43 15.9 82.2
## Mix 49.6 5.16 1.45 17.1 82.1
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
##
## $`pairwise differences of host`
## 1 estimate SE df t.ratio p.value
## B. cherry - Elm -0.5206 0.843 110 -0.618 0.9720
## B. cherry - Hickory 2.6572 0.752 110 3.533 0.0053
## B. cherry - Malus 0.5178 0.733 110 0.706 0.9547
## B. cherry - Mix -0.0545 0.799 110 -0.068 1.0000
## Elm - Hickory 3.1778 0.801 110 3.970 0.0012
## Elm - Malus 1.0384 0.785 110 1.324 0.6771
## Elm - Mix 0.4661 0.847 110 0.550 0.9817
## Hickory - Malus -2.1394 0.700 110 -3.058 0.0229
## Hickory - Mix -2.7117 0.771 110 -3.519 0.0056
## Malus - Mix -0.5723 0.741 110 -0.773 0.9379
##
## Degrees-of-freedom method: kenward-roger
## P value adjustment: tukey method for comparing a family of 5 estimates