Last updated: 2025-01-20
Checks: 6 1
Knit directory:
Genomic-Selection-for-Drought-Tolerance-Using-Genome-Wide-SNPs-in-Casava/
This reproducible R Markdown analysis was created with workflowr (version 1.7.1). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
The R Markdown is untracked by Git. To know which version of the R
Markdown file created these results, you’ll want to first commit it to
the Git repo. If you’re still working on the analysis, you can ignore
this warning. When you’re finished, you can run
wflow_publish
to commit the R Markdown file and build the
HTML.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20221020)
was run prior to running
the code in the R Markdown file. Setting a seed ensures that any results
that rely on randomness, e.g. subsampling or permutations, are
reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version 00c2e25. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for
the analysis have been committed to Git prior to generating the results
(you can use wflow_publish
or
wflow_git_commit
). workflowr only checks the R Markdown
file, but you know if there are other scripts or data files that it
depends on. Below is the status of the Git repository when the results
were generated:
Ignored files:
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: analysis/figure/GWS.Rmd/
Ignored: analysis/figure/clone_selection.Rmd/
Ignored: data/Artigo/
Ignored: data/allchrAR08.txt
Ignored: data/data.rar
Ignored: data/geno.rds
Ignored: data/pheno.rds
Ignored: output/BLUPS_density_med_row_col.png
Ignored: output/accuracy_all_methods.tiff
Ignored: output/indice_selection_GEBV_GETGV.tiff
Ignored: output/kappa.tiff
Untracked files:
Untracked: analysis/GWS_BayesA.Rmd
Untracked: analysis/GWS_BayesB.Rmd
Untracked: analysis/GWS_RF.Rmd
Untracked: analysis/clone_selection.Rmd
Untracked: data/.gitignore
Untracked: output/BayesA_ETA_1_ScaleBayesA-Weverton.dat
Untracked: output/BayesA_mu-Weverton.dat
Untracked: output/BayesA_varE-Weverton.dat
Untracked: output/GEBV_BLUP.csv
Untracked: output/dierencial_selecao.csv
Untracked: output/pesos_BLUPS_all clones.csv
Untracked: output/pesos_GEBVS_all clones.csv
Untracked: output/pesos_GETGVS_all clones.csv
Untracked: output/results_Broad_SNP_h2.csv
Untracked: output/results_MSPE.csv
Untracked: output/results_accuracy.csv
Untracked: output/results_h2_GBLUP.csv
Untracked: output/results_kappa.csv
Untracked: output/results_values_kappa.csv
Unstaged changes:
Modified: .gitattributes
Unmerged: analysis/GWS_G-BLUP.Rmd
Unmerged: analysis/GWS_RKHS.Rmd
Unmerged: analysis/GWS_RR-BLUP.Rmd
Modified: analysis/figure/phenotype.Rmd/check-missing-1.png
Modified: analysis/phenotype.Rmd
Modified: output/BLUPS_par_mmer.Rdata
Modified: output/BLUPS_row_col_random.csv
Unmerged: output/BayesA_ETA_1_ScaleBayesA.dat
Unmerged: output/BayesA_mu.dat
Unmerged: output/BayesA_varE.dat
Unmerged: output/BayesB_ETA_1_parBayesB.dat
Unmerged: output/BayesB_mu.dat
Unmerged: output/BayesB_varE.dat
Modified: output/pheno_mean_sd.csv
Modified: output/semester_means.xlsx
Staged changes:
New: data/Articles/Accuracy of Predicting the Genetic Risk of Disease Using.pdf
New: data/Articles/Classification and Regression by randomforest.pdf
New: data/Articles/Comparative Analysis of CDPK Family in Maize, Arabidopsis, Rice, and Sorghum Revealed Potential Targets for Drought Tolerance.pdf
New: data/Articles/Conventional breeding, marker assisted selection, genomic selection.pdf
New: data/Articles/Crop Stress and its Management.pdf
New: data/Articles/DAS-PGMEI-42419198000192-AC2024.pdf
New: data/Articles/Diallel analysis of cassava brown streak disease, yield and yield related characteristics in Mozambique.pdf
New: data/Articles/Diallel analysis of early storage root yield and disease resistance traits in cassava (Manihot esculenta Crantz).pdf
New: data/Articles/Diallel inheritance of relevant traits in cassava (Manihot esculenta Crantz) adapted to acid-soil savannas.pdf
New: data/Articles/Drought stress tolerance in wheat and barley Advances in physiology, breeding and genetics research.pdf
New: data/Articles/Early evaluation of genotype x harvest interactions in cassava crops under.pdf
New: data/Articles/Early prediction models for cassava root yield in different water regimes.pdf
New: data/Articles/Enhancing genomic prediction with Stacking Ensemble Learning in Arabica Coffee.pdf
New: data/Articles/Enhancing the rate of genetic gain in public-sector plant breeding programs_ lessons from the breeder’s equation.pdf
New: data/Articles/Environmental factors influence the production of flowers and fruits of cassava.pdf
New: data/Articles/Evaluation of Genomic Selection TrainingPopulation Designs and Genotyping Strategiesin Plant Breeding Programs Using Simulation.pdf
New: data/Articles/Evaluation of Seedling Survivability and Growth Response as.pdf
New: data/Articles/Evaluation of cassava germplasm for drought tolerance under field conditions.pdf
New: data/Articles/Factors affecting genomic selection revealed by.pdf
New: data/Articles/From Genetics to Functional Genomics Improvement in Drought Signaling and Tolerance in Wheat.pdf
New: data/Articles/Genetic Data Analysis for Plant and Animal Breeding.pdf
New: data/Articles/Genetic and Environmental Effects on Dry Matter Content.pdf
New: data/Articles/Genetic gains with genomic versus phenotypic selection for drought and waterlogging tolerance in tropical maize (Zea mays L.).pdf
New: data/Articles/Genetic parameters and path analysis for root Oliveira et al_CBAB_2021.pdf
New: data/Articles/Genetic parameters and path analysis for root yield of cassava under drought and early harvest.pdf
New: data/Articles/Genetic parameters for drought‑tolerance in cassava.pdf
New: data/Articles/Genetic parameters, stability and selection of cassava genotypes between rainy and water stress conditions.pdf
New: data/Articles/Genome assisted prediction of quantitative.pdf
New: data/Articles/Genome-Assisted Prediction of Quantitative Traits Using the R Package sommer.pdf
New: data/Articles/Genome-wide association analysis reveals new insights.pdf
New: data/Articles/Genome-wide association mapping and genomic prediction for CBSD resistance in Manihot esculenta.pdf
New: data/Articles/Genome-wide association study of drought tolerance Silva et al_Euphytica_2021.pdf
New: data/Articles/Genome-wide regression and prediction with the BGLR statistical package.pdf
New: data/Articles/Genome-wide selection in cassava.pdf
New: data/Articles/Genomic Best Linear Unbiased Prediction (gBLUP).pdf
New: data/Articles/Genomic Measures of Relationship and Inbreeding.pdf
New: data/Articles/Genomic Prediction and Selection for Fruit Traits in Winter Squash.pdf
New: data/Articles/Genomic Selection A Tool for Accelerating the Efficiency of Molecular Breeding for Development of Climate-Resilient Crops.pdf
New: data/Articles/Genomic Selection for Crop Improvement.pdf
New: data/Articles/Genomic Selection for Drought Tolerance Using Genome-Wide SNPs in Maize.pdf
New: data/Articles/Genomic Selection in Plant.pdf
New: data/Articles/Genomic Selection in the Era of Next Generation Sequencing for Complex Traits in Plant Breeding.pdf
New: data/Articles/Genomic mating in outbred species predicting cross.pdf
New: data/Articles/Genomic prediction in multi-environment trials in maize using statistical and machine learning methods.pdf
New: data/Articles/Genomic prediction of agronomic traits in wheat using different models and cross-validation designs.pdf
New: data/Articles/Genomic prediction of drought tolerance during seedling stage in maize using low-cost molecular markers.pdf
New: data/Articles/Genomic prediction through machine learning and neural networks for traits with epistasis.pdf
New: data/Articles/Genomic selection for productive traits in biparental cassava breeding populations.pdf
New: data/Articles/Genomic selection outperforms marker assisted selection for grain yield and physiological traits in a maize doubled haploid.pdf
New: data/Articles/Genomic selection strategies for clonally propagated - Werner et al_bioRxiv_2020.pdf
New: data/Articles/Genomic-Assisted Prediction of Genetic Value With.pdf
New: data/Articles/Genomics Assisted Breeding of Crops for Abiotic Stress Tolerance, Vol. II.pdf
New: data/Articles/Identification, Characterization, and Functional Validation of Drought-responsive MicroRNAs in Subtropical Maize Inbreds.pdf
New: data/Articles/Impacts of Harvesting Age and Pricing Schemes on Economic sustainability-14-07768.pdf
New: data/Articles/Impacts of Harvesting Age and Pricing Schemes on Economic.pdf
New: data/Articles/Improvement of Drought Resistance in Crops From Conventional Breeding to Genomic Selection.pdf
New: data/Articles/Improving accuracies of genomic predictions for drought tolerance in maize by joint modeling of additive and dominance effects.pdf
New: data/Articles/Increasing cassava root yield Additive-dominant genetic models for selection of parents and clones.pdf
New: data/Articles/Integrated Approach in Genomic Selection to Accelerate.pdf
New: data/Articles/Investigating Drought Tolerance in Chickpea Using Genome-Wide Association Mapping and Genomic Selection Based on Whole-Genome.pdf
New: data/Articles/Invited review Genomic selection in dairy cattle Progress and challenges.pdf
New: data/Articles/Large-scale genome-wide association study, using historical.pdf
New: data/Articles/LivroMandioca2016.pdf
New: data/Articles/Marker-Based Estimates Reveal Significant.pdf
New: data/Articles/MeMYB26, a drought-responsive transcription factor in cassava (Manihot esculenta Crantz).pdf
New: data/Articles/Molecular Markers and Selection for Complex Traits in Plants Learning from the Last 20 Years.pdf
New: data/Articles/Multi-trait selection in multi-environments for performance and stability in cassava genotypes.pdf
New: data/Articles/New cassava cultivars for starch and flour.pdf
New: data/Articles/NexGen Cassava Impact Report.pdf
New: data/Articles/Non-additive Effects in Genomic Selection.pdf
New: data/Articles/Number and Fitness of Selected Individuals in Marker-Assisted and Phenotypic.pdf
New: data/Articles/On the Additive and Dominant Variance and.pdf
New: data/Articles/PRODUÇÃO DE MANDIOCA DE MESA SOB DÉFICIT HÍDRICO DO SOLO.pdf
New: data/Articles/Parâmetros genéticos da mandioca quanto à tolerância ao deficit hídrico.pdf
New: data/Articles/Phenotypic approaches to drought in cassava review.pdf
New: data/Articles/Phenotypic diversity and selection in biofortified cassava.pdf
New: data/Articles/Plant Breeding Past, Present and Future.pdf
New: data/Articles/Plant breeding and climate changes.pdf
New: data/Articles/Predicting the accuracy of genomic predictions.pdf
New: data/Articles/Prediction of Genetic Values of Quantitative Traits in Plant Breeding.pdf
New: data/Articles/Prediction of total genetic value using genome-wide dense marker maps.pdf
New: data/Articles/Predictions of the accuracy of genomic prediction connecting R2, selection index theory, and Fisher information.pdf
New: data/Articles/Prospects for Genomic Selection in Cassava Breeding.pdf
New: data/Articles/Rapid Cycling Genomic Selection in a Multiparental.pdf
New: data/Articles/Reproductive barriers in cassava Factors and.pdf
New: data/Articles/The Effects of Restriction-Enzyme Choice.pdf
New: data/Articles/The Plant Genome - 2017 - Annicchiarico - GBS‐Based Genomic Selection for Pea Grain Yield under Severe Terminal Drough.pdf
New: data/Articles/The chaperone MeHSP90 recruits MeWRKY20 and MeCatalase1to regulate drought stress resistance in cassava.pdf
New: data/Articles/Training set optimization under population structure.pdf
New: data/Articles/Using mating designs to uncover QTL and the genetic architecture of complex traits.pdf
New: data/Articles/Very Early Biomarkers Screening for Water Deficit Tolerance in Commercial Eucalyptus Clones.Agronomy-Basel.pdf
New: output/.gitignore
Modified: output/BLUPS_par_mmer.Rdata
Modified: output/BLUPS_row_col_random.csv
New: output/Density_residual_row_col.tiff
New: output/Residuals_vs_fitted_row_col.tiff
New: output/result_sommer_row_col_random.RDS
New: output/varcomp_row_col.tiff
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
There are no past versions. Publish this analysis with
wflow_publish()
to start tracking its development.
To perform the analyses, we will need the following packages:
results <- readRDS("output/results_cv_G_BLUP.RDS") %>%
mutate(method = "G-BLUP") %>%
bind_rows(
readRDS("output/results_cv_RR_BLUP.RDS") %>%
mutate(method = "RR-BLUP"),
readRDS("output/results_cv_RKHS.RDS") %>%
mutate(method = "RKHS"),
readRDS("output/results_cv_BayesA.RDS") %>%
mutate(method = "Bayes A"),
readRDS("output/results_cv_BayesB.RDS") %>%
mutate(method = "Bayes B"),
readRDS("output/results_cv_RF.RDS") %>%
mutate(method = "RF"),
readRDS("output/results_cv_GEBVS_DOM.RDS") %>%
mutate(method = "G-BLUP-DOM")
)
traits <- unique(results$Trait)
Figure 2 Boxplot of predictive ability
results %>%
ggplot(aes(x = method, y = Ac, fill = method)) +
geom_boxplot() +
facet_wrap(~ Trait, ncol = 6) +
expand_limits(y = 0) +
labs(y = "Accuracy", x = "", fill = "Method") +
scale_fill_gdocs() +
theme(
text = element_text(size = 25),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
legend.position = "top",
legend.title = element_blank(),
legend.box = "horizontal",
panel.spacing = unit(1, "lines"),
strip.background = element_blank(),
panel.background = element_blank(),
plot.background = element_blank(),
legend.background = element_blank(),
legend.box.background = element_blank(),
legend.key = element_blank()
) +
guides(fill = guide_legend(
nrow = 1,
byrow = TRUE,
keywidth = 1.5,
keyheight = 1,
title.position = "top"
))
Table to Figure 2 Boxplot of predictive ability
# Calcular médias e desvio padrão de Ac por Trait e método
results_Ac <- results %>%
group_by(Trait, method) %>%
summarise(
Ac_mean = round(mean(Ac) * 100, 2),
Ac_sd = round(sd(Ac) * 100, 2),
.groups = "drop" # Remove agrupamento após summarise
) %>%
select(Trait, method, Ac_mean) %>%
pivot_wider(names_from = method, values_from = Ac_mean)
# Exibir resultados em tabela com kable
results_Ac %>%
kbl(escape = FALSE, align = "c") %>%
kable_classic(
"hover",
full_width = FALSE,
position = "center",
fixed_thead = TRUE
)
Trait | Bayes A | Bayes B | G-BLUP | G-BLUP-DOM | RF | RKHS | RR-BLUP |
---|---|---|---|---|---|---|---|
DMC | 21.64 | 20.94 | 22.00 | 22.00 | 15.48 | 19.00 | 24.46 |
FRY | 32.22 | 31.94 | 32.66 | 32.10 | 31.40 | 32.80 | 31.16 |
HI | 24.26 | 23.90 | 24.06 | 23.08 | 25.54 | 26.40 | 24.78 |
N_Roots | 25.28 | 24.94 | 25.42 | 26.02 | 25.78 | 24.84 | 24.62 |
Nstem.Plant | 27.08 | 26.28 | 27.22 | 26.40 | 20.82 | 26.00 | 26.84 |
Plant.Height | 29.58 | 29.72 | 29.32 | 29.56 | 28.86 | 30.32 | 30.30 |
Root.Di | 31.60 | 31.28 | 31.80 | 31.50 | 28.24 | 31.70 | 29.48 |
Root.Le | 36.94 | 36.54 | 36.72 | 36.24 | 34.46 | 37.14 | 36.16 |
ShY | 31.76 | 32.02 | 32.10 | 32.16 | 31.82 | 32.88 | 32.40 |
StC | 21.80 | 21.16 | 22.12 | 22.12 | 15.56 | 19.08 | 20.12 |
StY | 30.44 | 30.04 | 31.04 | 29.86 | 28.18 | 30.90 | 31.70 |
Stem.D | 34.58 | 34.64 | 34.68 | 35.34 | 34.12 | 35.12 | 34.02 |
# Calcular médias e desvio padrão de MSPE por Trait e método
results_MSPE <- results %>%
group_by(Trait, method) %>%
summarise(
MSPE_mean = round(mean(MSPE) * 100, 2),
MSPE_sd = round(sd(MSPE) * 100, 2),
.groups = "drop" # Remove agrupamento após summarise
) %>%
select(Trait, method, MSPE_mean) %>%
pivot_wider(names_from = method, values_from = MSPE_mean)
# Exibir resultados em tabela com kable
results_MSPE %>%
kbl(escape = FALSE, align = "c") %>%
kable_classic(
"hover",
full_width = FALSE,
position = "center",
fixed_thead = TRUE
)
Trait | Bayes A | Bayes B | G-BLUP | G-BLUP-DOM | RF | RKHS | RR-BLUP |
---|---|---|---|---|---|---|---|
DMC | 589.82 | 593.86 | 585.32 | 585.32 | 628.74 | 611.50 | 576.84 |
FRY | 115.86 | 116.34 | 115.26 | 116.12 | 117.38 | 119.72 | 116.66 |
HI | 1195.86 | 1199.12 | 1189.96 | 1198.26 | 1212.24 | 1176.24 | 1186.60 |
N_Roots | 86.08 | 86.14 | 85.74 | 85.48 | 87.68 | 93.12 | 88.26 |
Nstem.Plant | 2.76 | 2.80 | 2.76 | 2.78 | 2.98 | 3.30 | 2.88 |
Plant.Height | 0.74 | 0.74 | 0.74 | 0.74 | 0.78 | 0.80 | 0.78 |
Root.Di | 332.88 | 333.62 | 332.10 | 332.84 | 348.66 | 339.12 | 338.06 |
Root.Le | 180.68 | 181.42 | 180.78 | 181.48 | 187.28 | 198.94 | 199.96 |
ShY | 1259.58 | 1257.72 | 1253.94 | 1254.40 | 1276.28 | 1324.08 | 1261.50 |
StC | 586.66 | 589.94 | 582.36 | 582.36 | 625.52 | 608.10 | 591.46 |
StY | 7.08 | 7.10 | 7.02 | 7.10 | 7.24 | 7.24 | 7.02 |
Stem.D | 0.78 | 0.76 | 0.76 | 0.76 | 0.80 | 0.84 | 0.80 |
First let’s add the phenotypic means to the BLUPS and GEBVS
# Carregar dados
media_pheno <- read.csv("output/mean_pheno.csv")
BLUP <- readRDS("data/pheno.rds") %>%
pivot_longer(cols = -ID_Clone, names_to = "Trait", values_to = "BLUP")
# Inserir o método em cada data frame dentro de results$result
results$result <- map2(results$result, results$method, ~mutate(.x, method = .y))
# Combinar todos os data frames em um único data frame
GEBV_BLUP <- bind_rows(results$result) %>%
group_by(ID_Clone, Trait, method) %>%
summarise(GEBV = mean(GEBV), .groups = "drop") %>%
pivot_wider(names_from = method, values_from = GEBV) %>%
full_join(BLUP, by = c("ID_Clone", "Trait"))
# Adicionar as médias fenotípicas aos valores numéricos e combinar com GEBV
GEBV_BLUP <- GEBV_BLUP %>%
rowwise() %>%
mutate(across(where(is.numeric), ~ . + media_pheno[[Trait]])) %>%
ungroup()
# Visualizar os primeiros dados
GEBV_BLUP %>%
head() %>%
kbl(escape = FALSE, align = "c") %>%
kable_classic("hover", full_width = FALSE, position = "center", fixed_thead = TRUE)
ID_Clone | Trait | Bayes A | Bayes B | G-BLUP | G-BLUP-DOM | RF | RKHS | RR-BLUP | BLUP |
---|---|---|---|---|---|---|---|---|---|
Alagoana363.250437472 | FRY | 5.147048 | 5.136213 | 5.188144 | 5.255897 | 5.275877 | 5.432111 | 5.225135 | 4.980623 |
Alagoana363.250437472 | HI | 24.607030 | 24.568547 | 24.633235 | 24.672048 | 24.723454 | 24.444491 | 25.165928 | 24.557231 |
Alagoana363.250437472 | N_Roots | 4.154301 | 4.178224 | 4.225263 | 4.243897 | 4.193898 | 4.443810 | 4.426670 | 3.958834 |
Alagoana363.250437472 | Plant.Height | 1.161012 | 1.161261 | 1.160419 | 1.165587 | 1.165375 | 1.187893 | 1.175966 | 1.170988 |
Alagoana363.250437472 | Root.Di | 29.609365 | 29.596120 | 29.557053 | 29.568693 | 30.003957 | 29.749311 | 29.896532 | 30.209694 |
Alagoana363.250437472 | Root.Le | 23.563618 | 23.558956 | 23.535616 | 23.534217 | 23.494775 | 23.850965 | 23.866019 | 23.341948 |
Now let’s group the BLUPs data with the GEBVs and GETGVs data and add a Weights column for each increase or decrease characteristic.
selection_parents <- GEBV_BLUP %>%
rename(GEBV = `G-BLUP`, GETGV = `G-BLUP-DOM`) |>
mutate(Weights = ifelse(
Trait %in% c(
"N_Roots",
"FRY",
"ShY",
"DMC" ,
"StY",
"Plant.Height",
"HI" ,
"StC" ,
"Root.Le" ,
"Root.Di",
"Stem.D" ,
"Nstem.Plant"
),
"acrescimo",
"descrescimo"
))
calcular_pesos <- function(data, var){
data %>%
select(ID_Clone, Trait, var) %>%
pivot_wider(names_from = Trait, values_from = var) %>%
mutate(
N_Roots = 15 * N_Roots,
FRY = 20 * FRY,
ShY = 10 * ShY,
DMC = 15 * DMC,
StY = 10 * StY,
Plant.Height = 5 * Plant.Height,
HI = 10 * HI,
StC = 10 * StC,
Root.Le = 5 * Root.Le,
Root.Di = 5 * Root.Di,
Stem.D = 5 * Stem.D,
Nstem.Plant = 5 * Nstem.Plant
) %>%
mutate(pesos =
rowSums(.[2:13], na.rm = TRUE))
}
pesos_BLUP <- calcular_pesos(selection_parents, "BLUP")
pesos_GEBV <- calcular_pesos(selection_parents, "GEBV")
pesos_GETGV <- calcular_pesos(selection_parents, "GETGV")
results_kappa <- data.frame()
SI <- c(10, 15, 20, 25, 30)
for (j in traits) {
for (i in SI) {
sel_parents <- selection_parents |>
filter(Trait == j) %>%
na.omit() |>
droplevels() %>%
data.frame()
Clones_GEBV_sel <- pesos_GEBV %>%
right_join(sel_parents) %>%
droplevels() %>%
arrange(desc(pesos)) %>%
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
droplevels()
Clones_GETGV_sel <- pesos_GETGV %>%
right_join(sel_parents) %>%
droplevels() %>%
arrange(desc(pesos)) %>%
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
droplevels()
Clones_BLUPS_sel <- pesos_BLUP %>%
right_join(sel_parents) %>%
droplevels() %>%
arrange(desc(pesos)) %>%
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
droplevels()
Clones_sel_BLUPS <- sel_parents %>%
arrange(ifelse(Weights == "acrescimo", desc(BLUP), BLUP)) |>
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
#filter(ID_Clone %in% Clones_BLUPS_sel$ID_Clone) %>%
droplevels()
X0_BLUPS <- selection_parents |>
filter(Trait == j) |>
select(BLUP) |>
summarise(X0 = mean(BLUP, na.rm = T))
XS_BLUPS <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Clones_BLUPS_sel$ID_Clone) |>
select(BLUP) |>
summarise(X0 = mean(BLUP, na.rm = T))
Clones_sel_GEBVS <- sel_parents %>%
arrange(ifelse(Weights == "acrescimo", desc(GEBV), GEBV)) |>
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
#filter(ID_Clone %in% Clones_GEBV_sel$ID_Clone) %>%
droplevels()
all(Clones_sel_BLUPS$ID_Clone %in% Clones_sel_GEBVS$ID_Clone)
X0_GEBV <- selection_parents |>
filter(Trait == j) |>
select(GEBV) |>
summarise(X0 = mean(GEBV, na.rm = T))
XS_GEBV <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Clones_GEBV_sel$ID_Clone) |>
select(GEBV) |>
summarise(X0 = mean(GEBV, na.rm = T))
Clones_sel_GETGV <- sel_parents %>%
arrange(ifelse(Weights == "acrescimo", desc(GETGV), GETGV)) |>
slice(1:(nlevels(ID_Clone) * (i / 100))) |>
#filter(ID_Clone %in% Clones_GETGV_sel$ID_Clone) %>%
droplevels()
X0_GETGV <- selection_parents |>
filter(Trait == j) |>
select(GETGV) |>
summarise(X0 = mean(GETGV, na.rm = T))
XS_GETGV <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Clones_GETGV_sel$ID_Clone) |>
select(GETGV) |>
summarise(X0 = mean(GETGV, na.rm = T))
Comb_sel_GEBV_BLUP <-
Clones_sel_GEBVS |>
#slice(1:(nlevels(ID_Clone)/2)) |>
full_join(Clones_sel_BLUPS) |>
#slice(1:(nlevels(ID_Clone)/2))) %>%
resca(BLUP, GEBV, GETGV, new_min = 0, new_max = 1) %>%
mutate(BLUP_GEBV = (BLUP_res + GEBV_res) / 2) |>
arrange(desc(BLUP_GEBV)) %>%
slice(1:nrow(Clones_sel_BLUPS)) |>
droplevels()
XS_comb_GEBV_BLUP <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Comb_sel_GEBV_BLUP$ID_Clone) |>
select(GEBV) |>
summarise(X0 = mean(GEBV, na.rm = T))
Comb_sel_GETGV_BLUP <-
Clones_sel_GETGV |>
#slice(1:(nlevels(ID_Clone)/2)) |>
full_join(Clones_sel_BLUPS) |>
#slice(1:(nlevels(ID_Clone)/2))) %>%
resca(BLUP, GEBV, GETGV, new_min = 0, new_max = 1) %>%
mutate(BLUP_GETGV = (BLUP_res + GETGV_res) / 2) |>
arrange(desc(BLUP_GETGV)) %>%
slice(1:nrow(Clones_sel_GEBVS)) |>
droplevels()
XS_comb_GETGV_BLUP <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Comb_sel_GETGV_BLUP$ID_Clone) |>
select(GETGV) |>
summarise(X0 = mean(GETGV, na.rm = T))
Comb_sel_GETGV_GEBV <-
Clones_sel_GETGV |>
#slice(1:(nlevels(ID_Clone)/2)) |>
full_join(Clones_sel_GEBVS) |>
#slice(1:(nlevels(ID_Clone)/2))) %>%
resca(BLUP, GEBV, GETGV, new_min = 0, new_max = 1) %>%
mutate(GETGV_GEBV = (GETGV_res + GEBV_res) / 2) |>
arrange(desc(GETGV_GEBV)) %>%
slice(1:nrow(Clones_sel_BLUPS)) |>
droplevels()
XS_comb_GETGV_GEBV <- selection_parents |>
filter(Trait == j &
ID_Clone %in% Comb_sel_GETGV_GEBV$ID_Clone) |>
select(GETGV) |>
summarise(X0 = mean(GETGV, na.rm = T))
Clones_sel <- BLUP |>
select(ID_Clone) |>
mutate(
BLUPS_sel = ifelse(ID_Clone %in% Clones_sel_BLUPS$ID_Clone,1, 0),
GEBVS_sel = ifelse(ID_Clone %in% Clones_sel_GEBVS$ID_Clone, 1, 0),
GETGV_sel = ifelse(ID_Clone %in% Clones_sel_GETGV$ID_Clone, 1, 0),
Comb_sel_GEBV_BLUP = ifelse(ID_Clone %in% Comb_sel_GEBV_BLUP$ID_Clone, 1, 0),
Comb_sel_GETGV_BLUP = ifelse(ID_Clone %in% Comb_sel_GETGV_BLUP$ID_Clone, 1, 0),
Comb_sel_GETGV_GEBV = ifelse(ID_Clone %in% Comb_sel_GETGV_GEBV$ID_Clone, 1, 0),
)
kappa_GEBV_BLUP = cohen.kappa(cbind(Clones_sel$BLUPS_sel, Clones_sel$GEBVS_sel))[["kappa"]]
kappa_GETGV_BLUP = cohen.kappa(cbind(Clones_sel$BLUPS_sel, Clones_sel$GETGV_sel))[["kappa"]]
kappa_GETGV_GEBV = cohen.kappa(cbind(Clones_sel$GEBVS_sel, Clones_sel$GETGV_sel))[["kappa"]]
kappa_sel_GEBV_BLUP_BLUP = cohen.kappa(cbind(Clones_sel$BLUPS_sel, Clones_sel$Comb_sel_GEBV_BLUP))[["kappa"]]
kappa_sel_GETGV_BLUP_BLUP = cohen.kappa(cbind(Clones_sel$BLUPS_sel, Clones_sel$Comb_sel_GETGV_BLUP))[["kappa"]]
kappa_sel_GETGV_GEBV_BLUP = cohen.kappa(cbind(Clones_sel$BLUPS_sel, Clones_sel$Comb_sel_GETGV_GEBV))[["kappa"]]
kappa_sel_GEBV_BLUP_GEBV = cohen.kappa(cbind(Clones_sel$GEBVS_sel, Clones_sel$Comb_sel_GEBV_BLUP))[["kappa"]]
kappa_sel_GETGV_BLUP_GEBV = cohen.kappa(cbind(Clones_sel$GEBVS_sel, Clones_sel$Comb_sel_GETGV_BLUP))[["kappa"]]
kappa_sel_GETGV_GEBV_GEBV = cohen.kappa(cbind(Clones_sel$GEBVS_sel, Clones_sel$Comb_sel_GETGV_GEBV))[["kappa"]]
kappa_sel_GEBV_BLUP_GETGV = cohen.kappa(cbind(Clones_sel$GETGV_sel, Clones_sel$Comb_sel_GEBV_BLUP))[["kappa"]]
kappa_sel_GETGV_BLUP_GETGV = cohen.kappa(cbind(Clones_sel$GETGV_sel, Clones_sel$Comb_sel_GETGV_BLUP))[["kappa"]]
kappa_sel_GETGV_GEBV_GETGV = cohen.kappa(cbind(Clones_sel$GETGV_sel, Clones_sel$Comb_sel_GETGV_GEBV))[["kappa"]]
coef_kappa <- data.frame(
Trait = j,
SI = i,
X0 = media_pheno[[j]],
X0_GEBV = X0_GEBV[[1]],
X0_GETGV = X0_GETGV[[1]],
X0_BLUPS = X0_BLUPS[[1]],
XS_BLUPS = XS_BLUPS[[1]],
XS_GEBV = XS_GEBV[[1]],
XS_GETGV = XS_GETGV[[1]],
XS_GEBV_BLUP = XS_comb_GEBV_BLUP[[1]],
XS_GETGV_BLUP = XS_comb_GETGV_BLUP[[1]],
XS_GETGV_GEBV = XS_comb_GETGV_GEBV[[1]],
kappa_GEBV_BLUP = kappa_GEBV_BLUP,
kappa_GETGV_BLUP = kappa_GETGV_BLUP,
kappa_GETGV_GEBV = kappa_GETGV_GEBV,
kappa_sel_GEBV_BLUP_BLUP = kappa_sel_GEBV_BLUP_BLUP,
kappa_sel_GETGV_BLUP_BLUP = kappa_sel_GETGV_BLUP_BLUP,
kappa_sel_GETGV_GEBV_BLUP = kappa_sel_GETGV_GEBV_BLUP,
kappa_sel_GEBV_BLUP_GEBV = kappa_sel_GEBV_BLUP_GEBV,
kappa_sel_GETGV_BLUP_GEBV = kappa_sel_GETGV_BLUP_GEBV,
kappa_sel_GETGV_GEBV_GEBV = kappa_sel_GETGV_GEBV_GEBV,
kappa_sel_GEBV_BLUP_GETGV = kappa_sel_GEBV_BLUP_GETGV,
kappa_sel_GETGV_BLUP_GETGV = kappa_sel_GETGV_BLUP_GETGV,
kappa_sel_GETGV_GEBV_GETGV = kappa_sel_GETGV_GEBV_GETGV
)
results_kappa <- rbind(results_kappa, coef_kappa)
}
}
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Joining with `by = join_by(ID_Clone, Trait, Bayes.A, Bayes.B, GEBV, GETGV, RF,
RKHS, RR.BLUP, BLUP, Weights)`
Figure 3 Cohen’s Kappa of coincidence
results_kappa |>
pivot_longer(names_to = "Comparation",
values_to = "Kappa",
cols = 13:18) %>%
ggplot(aes(x = Trait, y = SI, fill = Kappa)) +
geom_tile() +
facet_wrap(Comparation ~ .,
labeller = as_labeller(
c(
kappa_GEBV_BLUP = "GEBV x BLUP",
kappa_GETGV_BLUP = "GETGV x BLUP",
kappa_GETGV_GEBV = "GEBV x GETGV",
kappa_sel_GEBV_BLUP_BLUP = "GEBV_BLUP x BLUP",
kappa_sel_GETGV_BLUP_BLUP = "GETGV_BLUP x BLUP",
kappa_sel_GETGV_GEBV_BLUP = "GETGV_GEBV x BLUP"
)
), ncol = 2) +
scale_fill_viridis(discrete = FALSE, limits = c(-0.07, 1)) +
labs(x = "" , y = "Selection Index", fill = "Kappa") +
theme(
text = element_text(size = 20),
legend.key.width = unit(1.5, 'cm'),
legend.box = "horizontal",
legend.position = "top",
legend.background = element_blank(),
strip.background = element_blank(),
panel.background = element_blank(),
plot.background = element_blank(),
axis.text.x = element_text(
angle = 45,
hjust = 1,
vjust = 1
)
)
Figure 4: Selection gains
teste <- results_kappa %>%
select(Trait, SI, X0, XS_GEBV, XS_GETGV)
p <- list()
for (i in levels(factor(teste$Trait))) {
breaks <- teste %>%
filter(Trait == i) %>%
droplevels() %>%
group_by(Trait) %>%
summarise(
min_X0 = min(X0),
max_XS = max(c(XS_GEBV, XS_GETGV)),
mean_X0_XS = mean(c(min_X0, max_XS))
) %>%
round_cols()
p[[i]] <- teste %>%
filter(Trait == i) %>%
droplevels() %>%
ggplot(aes(y = SI,
x = start)) +
geom_segment(
aes(
x = X0,
xend = XS_GEBV,
y = SI,
yend = SI
),
linewidth = 1,
color = "gray80"
) +
geom_point(
data = teste %>%
filter(Trait == i) %>%
droplevels() %>%
pivot_longer(
names_to = "measure",
values_to = "value",
cols = c("X0", "XS_GEBV", "XS_GETGV")
),
aes(y = SI,
x = value,
color = measure),
size = 4,
alpha = 0.75
) +
scale_x_continuous(
limits = ~ c(min(.x), max(.x)),
breaks = c(breaks$min_X0, breaks$mean_X0_XS, breaks$max_XS),
expand = expansion(mult = ifelse(i == "Plant.Height" , 0.25, 0.15))
) +
scale_color_gdocs() +
labs(x = i) +
theme(
text = element_text(size = 15),
legend.text = element_text(size = 15),
legend.box = "horizontal",
legend.direction = "horizontal",
legend.position = "top",
panel.spacing = unit(2, "lines"),
legend.title = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
plot.background = element_blank(),
legend.background = element_blank(),
legend.box.background = element_blank(),
legend.key = element_blank()
)
}
annotate_figure(
ggarrange(
plotlist = p,
nrow = 3,
ncol = 4,
common.legend = TRUE),
left = text_grob("Selection Index", rot = 90, size = 20)
)
Supplementary Table 3 - Cohen’s Kappa of coincidence
results_kappa |>
select(1,2, starts_with("kappa")) %>%
kbl(escape = F, align = 'c') |>
kable_classic("hover", full_width = F, position = "center", fixed_thead = T)
Trait | SI | kappa_GEBV_BLUP | kappa_GETGV_BLUP | kappa_GETGV_GEBV | kappa_sel_GEBV_BLUP_BLUP | kappa_sel_GETGV_BLUP_BLUP | kappa_sel_GETGV_GEBV_BLUP | kappa_sel_GEBV_BLUP_GEBV | kappa_sel_GETGV_BLUP_GEBV | kappa_sel_GETGV_GEBV_GEBV | kappa_sel_GEBV_BLUP_GETGV | kappa_sel_GETGV_BLUP_GETGV | kappa_sel_GETGV_GEBV_GETGV |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
N_Roots | 10 | 0.0593333 | 0.0593333 | 0.8063333 | 0.5850000 | 0.6956667 | 0.0870000 | 0.4743333 | 0.3360000 | 0.9170000 | 0.3913333 | 0.3636667 | 0.8893333 |
N_Roots | 15 | 0.0453052 | 0.0647887 | 0.8051643 | 0.6298122 | 0.6103286 | 0.0842723 | 0.4154930 | 0.3960094 | 0.8830986 | 0.3765258 | 0.4544601 | 0.9025822 |
N_Roots | 20 | 0.0796185 | 0.0642788 | 0.8005840 | 0.5858283 | 0.5704887 | 0.0642788 | 0.4937902 | 0.4784505 | 0.9233015 | 0.4017521 | 0.4937902 | 0.8772825 |
N_Roots | 25 | 0.0709151 | 0.1101722 | 0.8560573 | 0.5681718 | 0.5812575 | 0.0840008 | 0.5027433 | 0.4634862 | 0.9345715 | 0.5027433 | 0.5289147 | 0.9214858 |
N_Roots | 30 | 0.0784000 | 0.1133974 | 0.8250126 | 0.5566987 | 0.5800304 | 0.0784000 | 0.5217012 | 0.4750379 | 0.9066734 | 0.5450329 | 0.5333671 | 0.9183392 |
FRY | 10 | 0.0593333 | 0.0870000 | 0.8893333 | 0.5850000 | 0.7233333 | 0.0870000 | 0.4743333 | 0.3360000 | 0.9446667 | 0.5020000 | 0.3636667 | 0.9446667 |
FRY | 15 | 0.2312679 | 0.1736130 | 0.8270353 | 0.6348523 | 0.6925072 | 0.2120496 | 0.5964157 | 0.5195425 | 0.9231268 | 0.5387608 | 0.4811059 | 0.9039085 |
FRY | 20 | 0.2176758 | 0.2023361 | 0.8772825 | 0.6011680 | 0.6471871 | 0.2330155 | 0.6165077 | 0.5704887 | 0.9693206 | 0.6011680 | 0.5551490 | 0.9079619 |
FRY | 25 | 0.1886864 | 0.1756007 | 0.8691430 | 0.5943432 | 0.6466860 | 0.1886864 | 0.5943432 | 0.5420004 | 0.9345715 | 0.5681718 | 0.5289147 | 0.9345715 |
FRY | 30 | 0.2801992 | 0.2453701 | 0.8490740 | 0.6400996 | 0.6865384 | 0.2685895 | 0.6400996 | 0.5820511 | 0.9419515 | 0.6052705 | 0.5588318 | 0.9071225 |
ShY | 10 | -0.0284335 | -0.0013695 | 0.8376158 | 0.5940394 | 0.5940394 | -0.0284335 | 0.3775271 | 0.3504630 | 0.9458719 | 0.2963349 | 0.4045911 | 0.8917438 |
ShY | 15 | 0.0198666 | 0.0967398 | 0.8078170 | 0.5579791 | 0.5579791 | 0.0198666 | 0.4618876 | 0.4234510 | 0.9039085 | 0.4811059 | 0.5387608 | 0.9039085 |
ShY | 20 | 0.1337069 | 0.1793013 | 0.8784150 | 0.5136600 | 0.4984619 | 0.1641031 | 0.6200469 | 0.6352450 | 0.9088113 | 0.6352450 | 0.6808394 | 0.9696038 |
ShY | 25 | 0.2251680 | 0.2380819 | 0.8579475 | 0.5480147 | 0.5092731 | 0.2380819 | 0.6771533 | 0.7029811 | 0.9483445 | 0.6771533 | 0.7288088 | 0.9096029 |
ShY | 30 | 0.2951609 | 0.2258325 | 0.8844526 | 0.5378104 | 0.5262557 | 0.2489420 | 0.7573505 | 0.7342410 | 0.9537810 | 0.6880221 | 0.6995768 | 0.9306716 |
DMC | 10 | 0.0238575 | 0.0238575 | 1.0000000 | 0.5467910 | 0.5467910 | 0.0238575 | 0.4770665 | 0.4770665 | 1.0000000 | 0.4770665 | 0.4770665 | 1.0000000 |
DMC | 15 | 0.0953812 | 0.0953812 | 1.0000000 | 0.5110168 | 0.5110168 | 0.0953812 | 0.5843643 | 0.5843643 | 1.0000000 | 0.5843643 | 0.5843643 | 1.0000000 |
DMC | 20 | 0.1467148 | 0.1467148 | 1.0000000 | 0.5259527 | 0.5259527 | 0.1467148 | 0.6207621 | 0.6207621 | 1.0000000 | 0.6207621 | 0.6207621 | 1.0000000 |
DMC | 25 | 0.1389380 | 0.1389380 | 1.0000000 | 0.5375778 | 0.5375778 | 0.1389380 | 0.6013602 | 0.6013602 | 1.0000000 | 0.6013602 | 0.6013602 | 1.0000000 |
DMC | 30 | 0.1130702 | 0.1130702 | 1.0000000 | 0.5288185 | 0.5288185 | 0.1130702 | 0.5842517 | 0.5842517 | 1.0000000 | 0.5842517 | 0.5842517 | 1.0000000 |
StY | 10 | -0.0060606 | -0.0060606 | 0.8562771 | 0.6047619 | 0.5688312 | -0.0060606 | 0.3891775 | 0.4251082 | 0.9281385 | 0.3891775 | 0.4251082 | 0.9281385 |
StY | 15 | 0.1198303 | 0.1198303 | 0.9022034 | 0.6088135 | 0.6332626 | 0.1442795 | 0.5110168 | 0.4865677 | 0.9266525 | 0.5110168 | 0.4865677 | 0.9755508 |
StY | 20 | 0.1928313 | 0.1736130 | 0.8654719 | 0.6156340 | 0.6348523 | 0.1543947 | 0.5771974 | 0.5579791 | 0.9423451 | 0.5579791 | 0.5387608 | 0.9231268 |
StY | 25 | 0.2824483 | 0.2346115 | 0.9043264 | 0.7129793 | 0.7448705 | 0.2665027 | 0.5694690 | 0.5375778 | 0.9681088 | 0.5216322 | 0.4897410 | 0.9202720 |
StY | 30 | 0.2737919 | 0.2737919 | 0.9022412 | 0.6927581 | 0.7067237 | 0.3017230 | 0.5810338 | 0.5670682 | 0.9581034 | 0.5810338 | 0.5670682 | 0.9441378 |
Plant.Height | 10 | 0.1610147 | 0.1610147 | 0.9188079 | 0.5399113 | 0.5940394 | 0.1610147 | 0.6211034 | 0.5399113 | 0.9729360 | 0.5669753 | 0.5669753 | 0.9458719 |
Plant.Height | 15 | 0.2120496 | 0.1736130 | 0.8654719 | 0.5195425 | 0.5964157 | 0.2120496 | 0.6925072 | 0.5579791 | 0.9615634 | 0.6156340 | 0.5771974 | 0.9039085 |
Plant.Height | 20 | 0.2552919 | 0.2400938 | 0.8784150 | 0.5744525 | 0.6352450 | 0.2552919 | 0.6808394 | 0.6200469 | 0.9240094 | 0.6504431 | 0.6048488 | 0.9544056 |
Plant.Height | 25 | 0.2768235 | 0.2509958 | 0.8966891 | 0.5738424 | 0.5867563 | 0.2509958 | 0.7029811 | 0.6900672 | 0.9612584 | 0.6642395 | 0.6642395 | 0.9354307 |
Plant.Height | 30 | 0.3067157 | 0.2720515 | 0.8728979 | 0.6302484 | 0.6186936 | 0.2720515 | 0.6764673 | 0.6649126 | 0.9306716 | 0.6302484 | 0.6533578 | 0.9422263 |
HI | 10 | -0.0513333 | -0.0236667 | 0.8063333 | 0.4466667 | 0.4466667 | -0.0236667 | 0.5020000 | 0.4743333 | 0.8893333 | 0.4743333 | 0.5296667 | 0.9170000 |
HI | 15 | 0.0775215 | 0.0583032 | 0.8654719 | 0.5003242 | 0.5003242 | 0.0583032 | 0.5771974 | 0.5579791 | 0.9231268 | 0.5387608 | 0.5579791 | 0.9423451 |
HI | 20 | 0.1256376 | 0.1409773 | 0.9233015 | 0.5091299 | 0.5244696 | 0.1256376 | 0.6165077 | 0.5858283 | 0.9693206 | 0.6318474 | 0.6165077 | 0.9539809 |
HI | 25 | 0.1363436 | 0.1363436 | 0.8953144 | 0.5289147 | 0.5420004 | 0.1363436 | 0.6074289 | 0.5812575 | 0.9476572 | 0.5943432 | 0.5943432 | 0.9476572 |
HI | 30 | 0.1524926 | 0.1989313 | 0.9071225 | 0.5588318 | 0.5472221 | 0.1641023 | 0.5936608 | 0.5936608 | 0.9535612 | 0.6168802 | 0.6517093 | 0.9535612 |
StC | 10 | 0.0238575 | 0.0238575 | 1.0000000 | 0.5119288 | 0.5119288 | 0.0238575 | 0.5119288 | 0.5119288 | 1.0000000 | 0.5119288 | 0.5119288 | 1.0000000 |
StC | 15 | 0.0709320 | 0.0709320 | 1.0000000 | 0.4865677 | 0.4865677 | 0.0709320 | 0.5843643 | 0.5843643 | 1.0000000 | 0.5843643 | 0.5843643 | 1.0000000 |
StC | 20 | 0.1467148 | 0.1467148 | 1.0000000 | 0.5259527 | 0.5259527 | 0.1467148 | 0.6207621 | 0.6207621 | 1.0000000 | 0.6207621 | 0.6207621 | 1.0000000 |
StC | 25 | 0.1389380 | 0.1389380 | 1.0000000 | 0.5375778 | 0.5375778 | 0.1389380 | 0.6013602 | 0.6013602 | 1.0000000 | 0.6013602 | 0.6013602 | 1.0000000 |
StC | 30 | 0.1269285 | 0.1269285 | 1.0000000 | 0.5426768 | 0.5426768 | 0.1269285 | 0.5842517 | 0.5842517 | 1.0000000 | 0.5842517 | 0.5842517 | 1.0000000 |
Root.Le | 10 | 0.1423333 | 0.1423333 | 0.8616667 | 0.5573333 | 0.5850000 | 0.1146667 | 0.5850000 | 0.4743333 | 0.9170000 | 0.5296667 | 0.5573333 | 0.9446667 |
Root.Le | 15 | 0.2791080 | 0.2401408 | 0.8441315 | 0.5323944 | 0.5323944 | 0.2596244 | 0.7467136 | 0.7077465 | 0.9415493 | 0.7077465 | 0.7077465 | 0.9025822 |
Root.Le | 20 | 0.3250536 | 0.3403933 | 0.8466031 | 0.5244696 | 0.5704887 | 0.3250536 | 0.8005840 | 0.7238856 | 0.9386412 | 0.7852443 | 0.7699046 | 0.9079619 |
Root.Le | 25 | 0.3326291 | 0.3326291 | 0.8822287 | 0.5420004 | 0.5812575 | 0.3326291 | 0.7906287 | 0.7513716 | 0.9476572 | 0.7644573 | 0.7513716 | 0.9345715 |
Root.Le | 30 | 0.3583797 | 0.3117164 | 0.8600101 | 0.5916962 | 0.6266937 | 0.3467139 | 0.7666835 | 0.6850228 | 0.9533367 | 0.6966886 | 0.6850228 | 0.8950076 |
Root.Di | 10 | 0.1146667 | 0.1146667 | 1.0000000 | 0.5296667 | 0.5296667 | 0.1146667 | 0.5850000 | 0.5850000 | 1.0000000 | 0.5850000 | 0.5850000 | 1.0000000 |
Root.Di | 15 | 0.1427230 | 0.1037559 | 0.9610329 | 0.5518779 | 0.5518779 | 0.1232394 | 0.5908451 | 0.5908451 | 0.9805164 | 0.5518779 | 0.5518779 | 0.9805164 |
Root.Di | 20 | 0.2330155 | 0.2483551 | 0.9539809 | 0.5398093 | 0.5551490 | 0.2330155 | 0.6932062 | 0.6625268 | 0.9846603 | 0.6932062 | 0.6932062 | 0.9693206 |
Root.Di | 25 | 0.2672006 | 0.2802863 | 0.9607429 | 0.5943432 | 0.5812575 | 0.2802863 | 0.6728574 | 0.6859431 | 0.9738286 | 0.6859431 | 0.6990288 | 0.9869143 |
Root.Di | 30 | 0.2650531 | 0.2650531 | 0.9766684 | 0.5916962 | 0.5800304 | 0.2650531 | 0.6733569 | 0.6850228 | 1.0000000 | 0.6733569 | 0.6850228 | 0.9766684 |
Stem.D | 10 | 0.1610147 | 0.0798226 | 0.7564236 | 0.6481675 | 0.5669753 | 0.1339507 | 0.5128473 | 0.5399113 | 0.8646798 | 0.3775271 | 0.5128473 | 0.8917438 |
Stem.D | 15 | 0.2036005 | 0.1656767 | 0.8483049 | 0.6207621 | 0.6018002 | 0.2036005 | 0.5828383 | 0.5828383 | 0.9241524 | 0.5069908 | 0.5638765 | 0.9241524 |
Stem.D | 20 | 0.2704900 | 0.2248956 | 0.8024244 | 0.6200469 | 0.6352450 | 0.2704900 | 0.6504431 | 0.6200469 | 0.9240094 | 0.5744525 | 0.5896506 | 0.8784150 |
Stem.D | 25 | 0.3026512 | 0.2897374 | 0.8450336 | 0.7029811 | 0.7029811 | 0.3026512 | 0.5996702 | 0.5996702 | 0.9096029 | 0.5738424 | 0.5867563 | 0.9354307 |
Stem.D | 30 | 0.2984425 | 0.2984425 | 0.8159849 | 0.7814821 | 0.7469793 | 0.3099435 | 0.5169604 | 0.5054595 | 0.9079925 | 0.5054595 | 0.5514633 | 0.9079925 |
Nstem.Plant | 10 | 0.0238575 | 0.0238575 | 1.0000000 | 0.4422043 | 0.4770665 | 0.0238575 | 0.5816532 | 0.5467910 | 1.0000000 | 0.5816532 | 0.5467910 | 1.0000000 |
Nstem.Plant | 15 | 0.1362165 | 0.1122225 | 0.9520120 | 0.4721323 | 0.4961263 | 0.1362165 | 0.6640842 | 0.6400902 | 0.9760060 | 0.6400902 | 0.6160962 | 0.9760060 |
Nstem.Plant | 20 | 0.1391595 | 0.1391595 | 0.8877165 | 0.5508658 | 0.5695797 | 0.1391595 | 0.5882937 | 0.5695797 | 0.9251443 | 0.5695797 | 0.5695797 | 0.9625722 |
Nstem.Plant | 25 | 0.2495479 | 0.2339135 | 0.9687312 | 0.5778707 | 0.6247740 | 0.2495479 | 0.6716772 | 0.6247740 | 1.0000000 | 0.6404084 | 0.6091395 | 0.9687312 |
Nstem.Plant | 30 | 0.2901316 | 0.2628289 | 0.9590461 | 0.5495066 | 0.5768092 | 0.2764803 | 0.7406250 | 0.7133224 | 0.9863487 | 0.7133224 | 0.6860197 | 0.9726974 |
Supplementary Table 4 - Diferential selection
diferencial_selection <- results_kappa %>%
mutate(DS_GEBV = ((XS_GEBV - X0) / X0)*100,
DS_GETGV = ((XS_GETGV - X0) / X0)*100) %>%
select(1:3, XS_GEBV, XS_GETGV, DS_GEBV, DS_GETGV)
diferencial_selection %>%
kbl(escape = F, align = 'c') |>
kable_classic(
"hover",
full_width = F,
position = "center",
fixed_thead = T
)
Trait | SI | X0 | XS_GEBV | XS_GETGV | DS_GEBV | DS_GETGV |
---|---|---|---|---|---|---|
N_Roots | 10 | 4.292942 | 4.541419 | 4.557449 | 5.7880281 | 6.1614259 |
N_Roots | 15 | 4.292942 | 4.503344 | 4.519741 | 4.9010983 | 5.2830616 |
N_Roots | 20 | 4.292942 | 4.481755 | 4.497237 | 4.3982166 | 4.7588500 |
N_Roots | 25 | 4.292942 | 4.464347 | 4.475947 | 3.9927102 | 4.2629092 |
N_Roots | 30 | 4.292942 | 4.453953 | 4.468989 | 3.7505913 | 4.1008390 |
FRY | 10 | 4.946156 | 5.621869 | 5.626471 | 13.6613850 | 13.7544159 |
FRY | 15 | 4.946156 | 5.535921 | 5.513274 | 11.9236965 | 11.4658381 |
FRY | 20 | 4.946156 | 5.456486 | 5.463552 | 10.3176999 | 10.4605750 |
FRY | 25 | 4.946156 | 5.396319 | 5.394556 | 9.1012692 | 9.0656263 |
FRY | 30 | 4.946156 | 5.344933 | 5.344045 | 8.0623704 | 8.0444023 |
ShY | 10 | 14.227608 | 15.614549 | 15.668526 | 9.7482357 | 10.1276180 |
ShY | 15 | 14.227608 | 15.396293 | 15.425476 | 8.2142027 | 8.4193181 |
ShY | 20 | 14.227608 | 15.253308 | 15.221572 | 7.2092241 | 6.9861649 |
ShY | 25 | 14.227608 | 15.193934 | 15.244274 | 6.7919073 | 7.1457241 |
ShY | 30 | 14.227608 | 15.144660 | 15.202695 | 6.4455773 | 6.8534854 |
DMC | 10 | 29.058253 | 29.629875 | 29.603745 | 1.9671586 | 1.8772381 |
DMC | 15 | 29.058253 | 29.547617 | 29.581090 | 1.6840798 | 1.7992711 |
DMC | 20 | 29.058253 | 29.460600 | 29.505979 | 1.3846225 | 1.5407891 |
DMC | 25 | 29.058253 | 29.425355 | 29.434808 | 1.2633324 | 1.2958617 |
DMC | 30 | 29.058253 | 29.388151 | 29.411355 | 1.1352988 | 1.2151511 |
StY | 10 | 1.516377 | 1.679046 | 1.683829 | 10.7274852 | 11.0428979 |
StY | 15 | 1.516377 | 1.646614 | 1.647351 | 8.5886986 | 8.6372579 |
StY | 20 | 1.516377 | 1.636301 | 1.630397 | 7.9085461 | 7.5192118 |
StY | 25 | 1.516377 | 1.623207 | 1.621700 | 7.0450695 | 6.9457224 |
StY | 30 | 1.516377 | 1.615213 | 1.614606 | 6.5178949 | 6.4778388 |
Plant.Height | 10 | 1.191888 | 1.218483 | 1.214519 | 2.2313010 | 1.8987484 |
Plant.Height | 15 | 1.191888 | 1.210971 | 1.209804 | 1.6010244 | 1.5031639 |
Plant.Height | 20 | 1.191888 | 1.206531 | 1.205358 | 1.2285295 | 1.1300874 |
Plant.Height | 25 | 1.191888 | 1.204783 | 1.204905 | 1.0818354 | 1.0921086 |
Plant.Height | 30 | 1.191888 | 1.203777 | 1.205768 | 0.9974479 | 1.1644728 |
HI | 10 | 24.555931 | 25.967289 | 25.864255 | 5.7475261 | 5.3279358 |
HI | 15 | 24.555931 | 25.748140 | 25.698310 | 4.8550771 | 4.6521506 |
HI | 20 | 24.555931 | 25.607577 | 25.631202 | 4.2826563 | 4.3788664 |
HI | 25 | 24.555931 | 25.451107 | 25.410918 | 3.6454574 | 3.4817930 |
HI | 30 | 24.555931 | 25.306057 | 25.271414 | 3.0547635 | 2.9136891 |
StC | 10 | 24.419548 | 25.003698 | 24.973808 | 2.3921413 | 2.2697371 |
StC | 15 | 24.419548 | 24.917941 | 24.950143 | 2.0409587 | 2.1728304 |
StC | 20 | 24.419548 | 24.829042 | 24.874099 | 1.6769121 | 1.8614220 |
StC | 25 | 24.419548 | 24.793605 | 24.800732 | 1.5317909 | 1.5609773 |
StC | 30 | 24.419548 | 24.755365 | 24.777394 | 1.3751977 | 1.4654074 |
Root.Le | 10 | 23.214730 | 23.875648 | 23.829303 | 2.8469756 | 2.6473407 |
Root.Le | 15 | 23.214730 | 23.755371 | 23.707679 | 2.3288690 | 2.1234319 |
Root.Le | 20 | 23.214730 | 23.697609 | 23.642656 | 2.0800555 | 1.8433369 |
Root.Le | 25 | 23.214730 | 23.633618 | 23.606921 | 1.8044044 | 1.6894068 |
Root.Le | 30 | 23.214730 | 23.582253 | 23.606713 | 1.5831471 | 1.6885089 |
Root.Di | 10 | 28.878541 | 29.679103 | 29.651571 | 2.7721691 | 2.6768318 |
Root.Di | 15 | 28.878541 | 29.580579 | 29.578739 | 2.4310051 | 2.4246312 |
Root.Di | 20 | 28.878541 | 29.506113 | 29.506605 | 2.1731426 | 2.1748497 |
Root.Di | 25 | 28.878541 | 29.445294 | 29.426660 | 1.9625430 | 1.8980161 |
Root.Di | 30 | 28.878541 | 29.371944 | 29.353524 | 1.7085465 | 1.6447608 |
Stem.D | 10 | 2.112489 | 2.136110 | 2.135334 | 1.1181604 | 1.0814120 |
Stem.D | 15 | 2.112489 | 2.132438 | 2.132330 | 0.9443425 | 0.9391971 |
Stem.D | 20 | 2.112489 | 2.131034 | 2.128834 | 0.8778750 | 0.7737288 |
Stem.D | 25 | 2.112489 | 2.129767 | 2.129634 | 0.8178633 | 0.8115949 |
Stem.D | 30 | 2.112489 | 2.129346 | 2.129527 | 0.7979657 | 0.8065366 |
Nstem.Plant | 10 | 2.130936 | 2.155840 | 2.159164 | 1.1686756 | 1.3246821 |
Nstem.Plant | 15 | 2.130936 | 2.153327 | 2.155611 | 1.0507461 | 1.1579252 |
Nstem.Plant | 20 | 2.130936 | 2.150895 | 2.151224 | 0.9366498 | 0.9520742 |
Nstem.Plant | 25 | 2.130936 | 2.151740 | 2.150396 | 0.9762647 | 0.9132139 |
Nstem.Plant | 30 | 2.130936 | 2.151629 | 2.149755 | 0.9710932 | 0.8831386 |
SNP-based heritability estimate
results_h2_GBLUP <- readRDS("output/results_cv_G_BLUP.RDS") %>%
select(Trait, narrow_sense) %>%
group_by(Trait) %>%
summarise(SNP_H2_narrow_sense = mean(narrow_sense))
results_h2_GBLUP %>%
kbl(escape = F, align = 'c') |>
kable_classic("hover", full_width = F, position = "center", fixed_thead = T)
Trait | SNP_H2_narrow_sense |
---|---|
DMC | 0.3806575 |
FRY | 0.3658975 |
HI | 0.2960106 |
N_Roots | 0.1836692 |
Nstem.Plant | 0.2799462 |
Plant.Height | 0.2965907 |
Root.Di | 0.2868806 |
Root.Le | 0.3153513 |
ShY | 0.3753985 |
StC | 0.3793279 |
StY | 0.4226721 |
Stem.D | 0.4469456 |
Table 2 Broad-sense heritability and SNP-based heritability
H2 <- read.csv("output/H2_row_col_random.csv")
pheno_mean_sd <- read.csv("output/pheno_mean_sd.csv")
Broad_SNP_h2 <- H2 %>%
rename(Trait = trait) %>%
full_join(results_h2_GBLUP) %>%
full_join(pheno_mean_sd %>%
rename("Trait" = "variable")) %>%
round_cols(digits = 2) %>%
mutate(mean = str_c(mean, " (", min, " - ", max, ")")) %>%
select(Trait, H2_Broad, H2_narrow, SNP_H2_narrow_sense, mean, cv)
Joining with `by = join_by(Trait)`
Joining with `by = join_by(Trait)`
Broad_SNP_h2 %>%
kbl(escape = F, align = 'c') |>
kable_classic(
"hover",
full_width = F,
position = "center",
fixed_thead = T
)
Trait | H2_Broad | H2_narrow | SNP_H2_narrow_sense | mean | cv |
---|---|---|---|---|---|
N_Roots | 0.79 | 0.46 | 0.18 | 4.29 (0.12 - 15.67) | 58.56 |
FRY | 0.66 | 0.37 | 0.37 | 4.95 (0.12 - 22.2) | 81.79 |
ShY | 0.83 | 0.54 | 0.38 | 14.23 (0.69 - 61.17) | 71.45 |
DMC | 0.79 | 0.54 | 0.38 | 29.06 (11.98 - 48.34) | 21.00 |
StY | 0.51 | 0.27 | 0.42 | 1.52 (0.02 - 8.87) | 84.01 |
Plant.Height | 0.72 | 0.35 | 0.30 | 1.19 (0.36 - 3.03) | 27.43 |
HI | 0.67 | 0.40 | 0.30 | 24.56 (1.57 - 71.97) | 48.42 |
StC | 0.79 | 0.54 | 0.38 | 24.42 (7.33 - 43.69) | 25.05 |
Root.Le | 0.64 | 0.24 | 0.32 | 23.21 (7 - 47.33) | 24.99 |
Root.Di | 0.66 | 0.30 | 0.29 | 28.88 (6.12 - 63.3) | 27.35 |
Stem.D | 0.59 | 0.24 | 0.45 | 2.11 (1.01 - 4.37) | 17.90 |
Nstem.Plant | 0.47 | 0.22 | 0.28 | 2.13 (1 - 6.67) | 44.53 |
R version 4.3.3 (2024-02-29 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19045)
Matrix products: default
locale:
[1] LC_COLLATE=Portuguese_Brazil.utf8 LC_CTYPE=Portuguese_Brazil.utf8
[3] LC_MONETARY=Portuguese_Brazil.utf8 LC_NUMERIC=C
[5] LC_TIME=Portuguese_Brazil.utf8
time zone: America/Sao_Paulo
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggpubr_0.6.0 viridis_0.6.5 viridisLite_0.4.2 psych_2.4.12
[5] metan_1.19.0 ggthemes_5.1.0 kableExtra_1.4.0 lubridate_1.9.4
[9] forcats_1.0.0 stringr_1.5.1 dplyr_1.1.4 purrr_1.0.2
[13] readr_2.1.5 tidyr_1.3.1 tibble_3.2.1 ggplot2_3.5.1
[17] tidyverse_2.0.0
loaded via a namespace (and not attached):
[1] tidyselect_1.2.1 farver_2.1.2 fastmap_1.2.0
[4] GGally_2.2.1 tweenr_2.0.3 mathjaxr_1.6-0
[7] promises_1.3.2 digest_0.6.37 timechange_0.3.0
[10] lifecycle_1.0.4 magrittr_2.0.3 compiler_4.3.3
[13] rlang_1.1.4 sass_0.4.9 tools_4.3.3
[16] yaml_2.3.10 ggsignif_0.6.4 knitr_1.49
[19] labeling_0.4.3 mnormt_2.1.1 plyr_1.8.9
[22] xml2_1.3.6 RColorBrewer_1.1-3 abind_1.4-8
[25] workflowr_1.7.1 withr_3.0.2 numDeriv_2016.8-1.1
[28] grid_4.3.3 polyclip_1.10-7 git2r_0.35.0
[31] colorspace_2.1-1 scales_1.3.0 MASS_7.3-60.0.1
[34] cli_3.6.3 rmarkdown_2.29 ragg_1.3.3
[37] reformulas_0.4.0 generics_0.1.3 rstudioapi_0.17.1
[40] tzdb_0.4.0 minqa_1.2.8 cachem_1.1.0
[43] ggforce_0.4.2 splines_4.3.3 parallel_4.3.3
[46] vctrs_0.6.5 boot_1.3-31 Matrix_1.6-1
[49] carData_3.0-5 jsonlite_1.8.9 car_3.1-3
[52] hms_1.1.3 patchwork_1.3.0 rstatix_0.7.2
[55] ggrepel_0.9.6 Formula_1.2-5 systemfonts_1.1.0
[58] jquerylib_0.1.4 glue_1.8.0 nloptr_2.1.1
[61] ggstats_0.8.0 cowplot_1.1.3 stringi_1.8.4
[64] gtable_0.3.6 later_1.4.1 lme4_1.1-36
[67] lmerTest_3.1-3 munsell_0.5.1 pillar_1.10.1
[70] htmltools_0.5.8.1 R6_2.5.1 textshaping_0.4.1
[73] Rdpack_2.6.2 rprojroot_2.0.4 evaluate_1.0.3
[76] lattice_0.22-6 backports_1.5.0 rbibutils_2.3
[79] broom_1.0.7 httpuv_1.6.15 bslib_0.8.0
[82] Rcpp_1.0.14 svglite_2.1.3 gridExtra_2.3
[85] nlme_3.1-166 xfun_0.50 fs_1.6.5
[88] pkgconfig_2.0.3
Weverton Gomes da Costa, Pós-Doutorando, Embrapa Mandioca e Fruticultura, wevertonufv@gmail.com↩︎