Useful function for data organization before statistical analysis
- add_seq_block(): Add a column with sequential block numeration in multi-environment data sets.
- recode_factor(): Recode a factor column. A sequential numbering (with possible prefix) is used to identify each level.
- df_to_selegen_54(): Given a multi-environment data with environment, genotype, and replication, format the data to be used in the Selegen software (model 54).
Usage
add_seq_block(data, env, rep, new_factor = BLOCK, prefix = "", verbose = TRUE)
recode_factor(data, factor, new_factor = CODE, prefix = "", verbose = TRUE)
df_to_selegen_54(data, env, gen, rep, verbose = TRUE)Arguments
- data
- A data frame. 
- env
- The name of the column that contains the levels of the environments. 
- rep
- The name of the column that contains the levels of the replications/blocks. 
- new_factor
- The name of the new column created. 
- prefix
- An optional prefix to bind with the new factor. 
- verbose
- Logical argument. If - verbose = FALSEthe code will run silently.
- factor
- A column to recode. 
- gen
- The name of the column that contains the levels of the genotypes, that will be treated as random effect. 
References
Resende, M.D. V. 2016. Software Selegen-REML/BLUP: a useful tool for plant breeding. Crop Breed. Appl. Biotechnol. 16(4): 330–339. doi:10.1590/1984-70332016v16n4a49 .
Author
Tiago Olivoto tiagoolivoto@gmail.com
Examples
# \donttest{
library(metan)
df_ge <- ge_simula(ngen = 2,
                   nenv = 3,
                   nrep = 2) %>%
         add_cols(ENV = c(rep("CACIQUE", 4),
                          rep("FREDERICO", 4),
                          rep("SANTA_MARIA", 4)))
df_ge
#> # A tibble: 12 × 4
#>    ENV         GEN   REP      V1
#>    <chr>       <fct> <fct> <dbl>
#>  1 CACIQUE     H1    B1     94.5
#>  2 CACIQUE     H1    B2     91.2
#>  3 CACIQUE     H2    B1     88.8
#>  4 CACIQUE     H2    B2     92.6
#>  5 FREDERICO   H1    B1     98.3
#>  6 FREDERICO   H1    B2    105. 
#>  7 FREDERICO   H2    B1     78.8
#>  8 FREDERICO   H2    B2     80.2
#>  9 SANTA_MARIA H1    B1    107. 
#> 10 SANTA_MARIA H1    B2    106. 
#> 11 SANTA_MARIA H2    B1    107. 
#> 12 SANTA_MARIA H2    B2    106. 
# Add sequential block numbering over environments
add_seq_block(df_ge, ENV, REP, prefix = "B")
#> The data `df_ge` has been arranged according to the `ENV` and `REP` columns.
#> # A tibble: 12 × 5
#>    ENV         GEN   REP   BLOCK    V1
#>    <chr>       <fct> <fct> <chr> <dbl>
#>  1 CACIQUE     H1    B1    B1     94.5
#>  2 CACIQUE     H2    B1    B1     88.8
#>  3 CACIQUE     H1    B2    B2     91.2
#>  4 CACIQUE     H2    B2    B2     92.6
#>  5 FREDERICO   H1    B1    B3     98.3
#>  6 FREDERICO   H2    B1    B3     78.8
#>  7 FREDERICO   H1    B2    B4    105. 
#>  8 FREDERICO   H2    B2    B4     80.2
#>  9 SANTA_MARIA H1    B1    B5    107. 
#> 10 SANTA_MARIA H2    B1    B5    107. 
#> 11 SANTA_MARIA H1    B2    B6    106. 
#> 12 SANTA_MARIA H2    B2    B6    106. 
# Recode the 'ENV' column to "ENV1", "ENV2", and so on.
recode_factor(df_ge,
              factor = ENV,
              prefix = "ENV",
              new_factor = ENV_CODE)
#> Error in list2(...): object 'ENV' not found
# Format the data to be used in the Selegen software (model 54)
df <- df_to_selegen_54(df_ge, ENV, GEN, REP) %>%
recode_factor(ENV, prefix = "E", new_factor = ENV)
#> Error in list2(...): object 'ENV' not found
# }
