persIDc # df with the pers vars, birds Id; cleaned up
persIDcs # df with selected columns
melt_persIDcs_c # melted df (by var), control
melt_persIDcs_e # melted df (by var), experiment
persIDcs_m # df with means (“treat”, “ID..”)
melt_persIDcs_mc # melted means df (by var), control
melt_persIDcs_me # melted means df (by var), experiment
library(ggplot2)
AllVard <- unique(melt_persIDcs_c$variable)
for (i in 1:length(AllVard))
{
Var.i <- AllVard[i]
dfs.i <- melt_persIDcs_c[melt_persIDcs_c$variable == Var.i, ]
print(ggplot(data = dfs.i, aes(x = value)) + geom_density(aes(x = value), fill = "grey") + ggtitle(paste(Var.i, "_CTR",sep = "")) + theme(legend.position="none"))
}
library(ggplot2)
AllVard1 <- unique(melt_persIDcs_e$variable)
for (i in 1:length(AllVard1))
{
Var.i <- AllVard1[i]
dfs.i <- melt_persIDcs_e[melt_persIDcs_e$variable == Var.i, ]
print(ggplot(data = dfs.i, aes(x = value)) + geom_density(aes(x = value), fill = "grey") +
ggtitle(paste(Var.i, "_EXP",sep = "")) + theme(legend.position="none"))
}
AllVard2c <- unique(melt_persIDcs_c$variable)
AllVard2e <- unique(melt_persIDcs_e$variable)
for (i in 1:length(AllVard2c))
{
Varc.i <- AllVard2c[i]
Vare.i <- AllVard2e[i]
dfsc.i <- melt_persIDcs_c[melt_persIDcs_c$variable == Varc.i, ]
dfse.i <- melt_persIDcs_e[melt_persIDcs_e$variable == Vare.i, ]
print(Varc.i)
print(ks.test(dfsc.i$value, dfse.i$value, alternative = "two.sided"))
}
=> Concl ks.test: signif diff in mean_durouts, and mov_feroc
AllVar3 <- unique(melt_persIDcs_c$variable)
for (i in 1:length(AllVar3))
{
Var.i <- AllVar3[i]
dfs.i <- melt_persIDcs_c[melt_persIDcs_c$variable == Var.i, ]
# YourFileName <- paste(Var.i, ".jpg", sep = "")
# jpeg(file = YourFileName)
print(ggplot(data = dfs.i, aes(x = ID.., y = value)) + geom_boxplot() + geom_point() + ggtitle(paste(Var.i, "_CTR", sep = "")) + theme(legend.position="none"))
}
AllVar4 <- unique(melt_persIDcs_e$variable)
for (i in 1:length(AllVar4))
{
Var.i <- AllVar4[i]
dfs.i <- melt_persIDcs_e[melt_persIDcs_e$variable == Var.i, ]
print(ggplot(data = dfs.i, aes(x = ID.., y = value)) + geom_boxplot() + geom_point() + ggtitle(paste(Var.i, "_EXP", sep = "")) + theme(legend.position="none"))
}
ssize_c <- table(melt_persIDcs_c$ID..)/12 # sample size for each ind
ssize_c <-ssize_c [! ssize_c %in% 0] # to get rid of inds with n = 0
melt_persIDcs_co <- melt_persIDcs_c[order(melt_persIDcs_c$ID..),]
AllVar5 <- unique(melt_persIDcs_co$ID..)
for (i in 1:length(AllVar5))
{
Id.i <- ssize_c[i]
Var.i <- AllVar5[i]
dfs.i <- melt_persIDcs_co[melt_persIDcs_co$ID.. == Var.i, ]
print(ggplot(data = dfs.i, aes(x = variable, y = value)) + geom_point() + geom_boxplot() + coord_flip() + ggtitle(paste(Var.i, "_CTR", "_N=", ssize_c [i], sep = "")) + theme(legend.position="none"))
}
ssize_e <- table(melt_persIDcs_e$ID..)/12 # sample size for each ind
ssize_e <-ssize_e [! ssize_e %in% 0] # to get rid of ind with n = 0
melt_persIDcs_eo <- melt_persIDcs_e[order(melt_persIDcs_e$ID..),]
AllVar6 <- unique(melt_persIDcs_eo$ID..)
for (i in 1:length(AllVar6))
{
Id.i <- ssize_e[i]
Var.i <- AllVar6[i]
dfs.i <- melt_persIDcs_eo[melt_persIDcs_eo$ID.. == Var.i, ]
print(ggplot(data = dfs.i, aes(x = variable, y = value)) + geom_point() + geom_boxplot() + coord_flip() + ggtitle(paste(Var.i, "_EXP", "_N=", ssize_e [i], sep = "")) + theme(legend.position="none"))
}
# Inds with n = 1 excluded:
table(melt_persIDcs_c$ID..)/12 # sample size for each ind
melt_persIDcs_cs. <- melt_persIDcs_c[melt_persIDcs_c$ID.. != "241",]
melt_persIDcs_cs <- melt_persIDcs_cs.[melt_persIDcs_cs.$ID.. != "365",] # selected df with ind of n > 1
AllVard7 <- unique(melt_persIDcs_cs$variable)
for (i in 1:length(AllVard7))
{
Var.i <- AllVard7[i]
dfs.i <- melt_persIDcs_cs[melt_persIDcs_cs$variable == Var.i, ]
res.i <- lm(value ~ ID.., data = dfs.i)
print("######################################################################")
print(Var.i)
print(summary(res.i))
print(anova(res.i))
}
Var | Nind | Radj | Pval | |
---|---|---|---|---|
9 | tot_durfor | 4 | 0.38 | 0.000 |
6 | tot_durins | 3 | 0.26 | 0.000 |
3 | stan_nouts | 2 | 0.19 | 0.004 |
4 | stan_nins | 2 | 0.28 | 0.000 |
7 | mean_durouts | 2 | 0.44 | 0.000 |
8 | tot_durouts | 2 | 0.38 | 0.000 |
1 | stan_nflo | 1 | 0.23 | 0.001 |
2 | stan_nflochang | 1 | 0.09 | 0.068 |
5 | mean_durins | 0 | 0.11 | 0.041 |
10 | mov_spead | 0 | -0.06 | 0.892 |
11 | mov_feroc | 0 | 0.08 | 0.093 |
12 | stand_totdist | 0 | -0.04 | 0.752 |
Var - pers ariable; Nind - n individuals distinctly different (p < .05); Radj - R-adjsted of the model; Pval - p-value of the model
panel.cor <- function(x, y, digits=2, prefix="", cex.cor, ...)
{
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- cor(x, y)
txt <- format(c(r, 0.123456789), digits=digits)[1]
txt <- paste(prefix, txt, sep="")
if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
text(0.5, 0.5, txt, cex = cex.cor * r)
}
pairs(persIDcs_m[persIDcs_m$treat == "Ctr",3:14], lower.panel=panel.smooth, upper.panel = panel.cor, pch = 20)
library(pvclust)
persIDcs_mst <- t(persIDcs_m[persIDcs_m == "Ctr" , 3:14])
colnames(persIDcs_mst) <- unique(persIDcs_m[persIDcs_m == "Ctr" ,]$ID..)
persIDcs_mst_sc <- scale(persIDcs_mst)
methd <- c(rep("correlation", 5), rep("euclidean", 5), rep("manhattan", 5))
methcl <- c(rep(c("average", "ward.D", "ward.D2", "complete", "centroid"),3))
for (i in 1:length(methcl)) {
methd.i <- methd [i]
methcl.i <- methcl [i]
fit.i <- pvclust(persIDcs_mst_sc, method.hclust=methcl[i],
method.dist=methd[i], nboot = 1000, iseed = 20)
print(plot(fit.i, main = "", hang = -1))
print(pvrect(fit.i, alpha=.95))
}
Distance matrices tested (order):: “correlation”, “Euclidean”, “Manhattan”
library(proxy)
persIDcs_ms <- persIDcs_m[persIDcs_m == "Ctr" , 3:14]
colnames(persIDcs_ms) <- unique(persIDcs_m[persIDcs_m == "Ctr" ,]$ID..)
persIDcs_ms_sc <- scale(persIDcs_ms)
dist_cor <- proxy::dist(persIDcs_ms_sc, method = "correlation")
dist_eu <- proxy::dist(persIDcs_ms_sc, method = "Euclidean")
dist_mh <- proxy::dist(persIDcs_ms_sc, method ="Manhattan")
distmax <- rep(list (dist_cor, dist_eu, dist_mh),5)
cl_meth <- c(rep("average",3), rep("ward.D", 3), rep("ward.D2", 3), rep("complete", 3), rep("centroid", 3))
for (i in 1:length(distmax)) {
hcl.i <- hclust(distmax[[i]], method = cl_meth[i])
cop.i <- cophenetic(hcl.i)
cor.i <- cor(distmax[[i]], cop.i)
print(paste(cl_meth[i], " = ", cor.i, sep = ""))
}
## [1] "average = 0.682043136473381"
## [1] "average = 0.889322809943955"
## [1] "average = 0.89204775972415"
## [1] "ward.D = 0.636515527468485"
## [1] "ward.D = 0.831213328100565"
## [1] "ward.D = 0.83650658250423"
## [1] "ward.D2 = 0.657078067129058"
## [1] "ward.D2 = 0.838353838166757"
## [1] "ward.D2 = 0.846990081374562"
## [1] "complete = 0.670068714308669"
## [1] "complete = 0.819979221201634"
## [1] "complete = 0.831602610148754"
## [1] "centroid = 0.551842982952093"
## [1] "centroid = 0.889043498772771"
## [1] "centroid = 0.882295525059153"
-> dist: “Euclidean”; clust: “average” and “centroid”
## [1] 0.9175938
library(FactoMineR)
library(factoextra)
# CONTROL
# data and PCA
df.pca<-persIDcs[persIDcs$treat == "Ctr",4:15]
df.pcaID <-persIDcs[persIDcs$treat == "Ctr",1]
df.pcatreat <-persIDcs[persIDcs$treat == "Ctr",2]
res.pca <- PCA(df.pca, graph = F)
# Eigenvalues and scree plot
eigv <- res.pca$eig
fviz_screeplot(res.pca)
# Correlations of variables with pc1 and pc2
fviz_pca_var(res.pca, axes = c(1,2), col.var = "cos2") +
scale_color_gradient2(low = "white", mid = "grey", high = "black", midpoint = 0.5) + theme_minimal()
# Contributions of particular variables into two first PCs
fviz_pca_contrib(res.pca, choise = "var", axes = 1:2)
# EXPERIMENT
# data and PCA
df.pca.e<-persIDcs[persIDcs$treat == "Exp",4:15]
df.pcaID.e <-persIDcs[persIDcs$treat == "Exp",1]
df.pcatreat.e <-persIDcs[persIDcs$treat == "Exp",2]
res.pca.e <- PCA(df.pca.e, graph = F)
# Eigenvalues and scree plot
eigv.e <- res.pca.e$eig
fviz_screeplot(res.pca.e)
# Correlations of variables with pc1 and pc2
fviz_pca_var(res.pca.e, axes = c(1,2), col.var = "cos2") +
scale_color_gradient2(low = "white", mid = "grey", high = "black", midpoint = 0.5) + theme_minimal()
# Contributions of particular variables into two first PCs
fviz_pca_contrib(res.pca.e, choise = "var", axes = 1:2)
Results: all tests, p-values > .05
(presented output for pc1 only)
##
## Call:
## lm(formula = pc1 ~ ID.., data = df.pcdf_c)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.2530 -1.0381 0.2307 0.8178 4.5991
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5244 0.6684 0.785 0.43541
## ID..203 -0.2508 0.9914 -0.253 0.80104
## ID..241 4.7885 1.7684 2.708 0.00853 **
## ID..292 -1.1746 0.7667 -1.532 0.13010
## ID..301 -0.6831 0.7909 -0.864 0.39074
## ID..353 -1.7001 0.9109 -1.866 0.06623 .
## ID..356 1.0531 0.8629 1.220 0.22646
## ID..357 4.5131 1.3368 3.376 0.00121 **
## ID..364 -1.6502 0.8309 -1.986 0.05101 .
## ID..367 -0.1003 1.0568 -0.095 0.92470
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.637 on 69 degrees of freedom
## Multiple R-squared: 0.424, Adjusted R-squared: 0.3489
## F-statistic: 5.643 on 9 and 69 DF, p-value: 7.986e-06
## Analysis of Variance Table
##
## Response: pc1
## Df Sum Sq Mean Sq F value Pr(>F)
## ID.. 9 136.14 15.1270 5.6434 7.986e-06 ***
## Residuals 69 184.95 2.6805
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1