NEWS.md
select_rows_na()
and select_cols_na()
to select rows or columns with with NA
valuesmgidi()
to compute the multi-trait genotype-ideotype distance indexge_plot()
fai_blup()
with gamem()
inspect()
get_model_data()
now fills rows that don’t matches across columns with NA
ENV
, GEN
, and REP
only (#2).gmd()
a shortcut to get_model_data()
gtb()
to generate a genotype-by-trait biplot.gamem_met()
to analyze genotypes in multi-environment trials using mixed- or random-effect models allowing unbalanced data. Thanks to @EderOliveira for his e-mail.has_class()
to check if a class exists.impute_missing_val()
to impute missing values in a two-way table based on Expectation-Maximization algoritms.non_collinear_vars()
to select a set of predictors with minimal multicollinearity.replace_na()
to replace NA
values quicly.random_na()
to generate random NA
values based on a desired proportion.gge()
, performs_ammi()
, waas()
, and waasb()
now handle with unbalanced data by implementing a low-rank matrix approximation using singular value decomposition to impute missing entires. Imputation generates a warning message.NA
values are checked and removed with a warning when computing stability indexes. Thanks to @MdFarhad for alerting me.plot_res
in path_coeff()
to create a residual plot of the multiple regression model.verbose
deprecated in functions anova_ind()
and split_factors()
rep
deprecated in functions Fox()
, Huehn()
, superiority()
, and Thennarasu()
.means_by
removed in functions can_corr()
and clustering()
.verbose
removed in functions colindiag()
and split_factors()
.values
removed in functions desc_stat()
and find_outliers()
.var
removed in function desc_wider()
.plot.resp_surf()
.alpha_color()
To get a semi-transparent colorgafem()
To analyze genotypes using fixed-effect models.residual_plots()
A helper function to create residuals plots.stars_pval()
To generate significance stars from p-valuesdoo()
An alternative to dplyr::do
for doing anythingcv_by()
For computing coefficient of variation by levels of a factor.max_by()
For computing maximum values by levels of a factor.means_by()
For computing arithmetic means by levels of a factor.min_by()
For computing minimum values by levels of a factor.n_by()
For getting the length.sd_by()
For computing sample standard deviation.sem_by()
For computing standard error of the mean by levels of a factor.av_dev()
computes the average absolute deviation.ci_mean()
computes the confidence interval for the mean.cv()
computes the coefficient of variation.hm_mean()
, gm_mean()
computes the harmonic and geometric means, respectively. The harmonic mean is the reciprocal of the arithmetic mean of the reciprocals. The geometric mean is the nth root of n products.kurt()
computes the kurtosis like used in SAS and SPSS.range_data()
Computes the range of the values.sd_amo()
, sd_pop()
Computes sample and populational standard deviation, respectively.sem()
computes the standard error of the mean.skew()
computes the skewness like used in SAS and SPSS.sum_dev()
computes the sum of the absolute deviations.sum_sq_dev()
computes the sum of the squared deviations.var_amo()
, var_pop()
computes sample and populational variance.valid_n()
Return the valid (not NA) length of a data.colnames_to_lower()
, colnames_to_upper()
, and colnames_to_title()
to translate column names to lower, upper and title cases quickly.all_lower_case()
, all_upper_case()
, and all_title_case()
to translate strings vectors or character columns of a data frame to lower, upper and title cases, respectively.tidy_strings()
Tidy up characters strings, non-numeric columns, or any selected columns in a data frame by putting all word in upper case, replacing any space, tabulation, punctuation characters by '_'
, and putting '_'
between lower and upper cases.find_text_in_num()
Find text fragments in columns assumed to be numeric. This is especially useful when everything()
is used in argument resp
to select the response variables.anova_ind()
, anova_joint()
, performs_ammi()
, waas()
and waasb()
, now have the argument block
to analyze data from trials conducted in an alpha-lattice design. Thanks to @myaseen208 for his suggestion regarding multi-environment trial analysis with alpha-lattice designs.repel
included in plot_scores()
to control wheater the labels are repelled or not to avoid overlapping.Argument means_by
was deprecated in functions can_corr()
and clustering()
. Use means_by()
to pass data based on means of factor to these functions.
transparent_color()
desc_stat()
now handles grouped data passed from dplyr::group_by()
plot_scores()
now support objects of class waas_mean
.citation("metan")
.plot_scores(type = 2)
(#1)get_model_data()
now support models of class anova_joint
and gafem
and extract random effects of models fitted with waasb()
and gamem()
.plot.waasb()
and plot.gamem()
to show distribution of random effects.inspect()
, cv_blup()
, cv_ammif()
, and cv_ammi()
now generate a warning message saying that is not possible to compute cross-validation procedures in experiments with two replicates only. Thanks to @Vlatko for his email.plot.wsmp()
now returns heatmaps created with ggplot2. Thus, we removed dependency on gplots
.corr_plot()
now don’t write a warning message to the console by default.select_numeric_cols()
now is used as a helper function in metan
.metan
now reexports mutate()
from dplyr
package.get_model_data()
now set default values for each class of models.by
that calls internally split_factors()
included to facilitate the application of the functions to each level of one grouping variable.add_cols()
, and add_rows()
for adding columns and rows, respectively.remove_cols()
, and remove_rows()
for removing columns and rows, respectively.select_cols()
and select_rows()
for selecting columns and rows, respectively.select_numeric_cols()
, and select_non_numeric_cols()
for selecting numeric and non-numeric variables quickly.round_cols()
for rounding a whole data frame to significant figures.all_lower_case()
, and all_upper_case()
for handling with cases.extract_number()
, extract_string()
, remove_strings()
, replace_number()
, and replace_string()
, for handling with numbers and strings.get_level_size()
, and get_levels()
for getting size of levels and levels of a factor.means_by()
for computing means by one or more factors quickly.ge_means()
for computing genotype-environment meansge_winners()
for getting winner genotypes or ranking genotypes within environments.env_dissimilarity()
for computing dissimilarity between test environments.starts_with()
, ends_with()
, contains()
, contains()
, num_range()
, one_of()
, everything()
, and last_col()
.resp
(response variable(s) now support select helpers.sem()
for computing standard error of mean.remove_rows_na()
and remove_cols_na()
for removing rows or columns with NA
values quickly.difference_var()
, intersect_var()
, and union_var()
for selecting variables that match an expression.Schmildt()
for stability analysis.ge_reg
.get_model_data()
to support objects of class Schmildt
and Annicchiarico
.I’m very pleased to announce the release of metan
1.1.0, This is a minor release with bug fixes and new functions. The most important changes are described below.
corr_stab_ind()
for computing Spearman’s rank correlation between stability indexes;corr_coef()
for computing correlation coefficients and p-values;plot.corr_coef()
for creating correlation heat maps;print.corr_coef()
for printing correlation and p-values;make_lower_tri()
and make_upper_tri()
for creating lower and upper triangular matrices, respectively.reorder_cormat()
for reordering a correlation matrix according to the correlation coefficients;get_model_data()
by supporting new classes of models. Now, get_model_data()
can be used to get all statistics or ranks computed with the wrapper function ge_stats()
.arrange_ggplot()
now support objects of class ggmatrix
.theme_metan()
arrange_ggplot()
for arranging ggplot2 graphics;ge_effects()
for computing genotype-environment effects;gai()
for computing the geometric adaptability index;gm_mean()
for computing geometric mean;hm_mean()
for computing harmonic mean;Huehn()
for computing Huehn’s stability statistic;Thennasaru()
for computing Thennasaru’s stability statistic;get_model_data()
by supporting new classes of models;gamem()
for analyzing genotypes in one-way trials using mixed-effect models;desc_wider()
to convert an output of the function desc_stat()
to a ‘wide’ format;Fox()
for Stability analysis;Shukla()
for stability analysis;to_factor()
to quickly convert variables to factors;get_model_data()
function;The changes in this version were made based on suggestions received when metan was submitted to CRAN for the first time.
The documentation of the following functions was updated by including/updating the \value section of .Rd files.
AMMI_indexes()
Annichiarico()
anova_ind()
as.lpcor()
as.split_factors()
bind_cv()
can_cor()
comb_vars()
corr_ci()
corr_plot()
covcor_design()
cv_ammi()
cv_ammif()
cv_blup()
desc_stat()
ecovalence()
fai_blup()
ge_factanal()
ge_plot()
ge_reg()
ge_stats()
get_model_data()
is.lpcorr()
is.split_factors()
mahala()
mahala_design()
make_mat()
make_sym()
mtsi()
pairs_mantel()
plot.*()
and plot_*()
functionsrbind_fill()
resca()
resp_surf()
waas()
wsmp()
waasb()
To allow automatic testing, the examples of the following functions were unwrapped by deleting \dontrun{}.
bind_cv()
clustering()
comb_vars()
corr_ci()
corr_plot()
covcor_design()
desc_stat()
ecovalence()
path_coefff()
plot.fai_blup()
plot.mtsi()
plot.wsmp()
plot_ci()
wsmp()
In the examples of the functions for cross-validation \dontrun{} was changed with \donttest{}
cv_ammi()
cv_ammif()
cv_blup()
plot.cv_ammif()
This is the first version that will be submitted to CRAN. In this version, deprecated functions in the last versions were defunct. Some new features were implemented.
fai_blup()
computes the FAI-BLUP index (https://onlinelibrary.wiley.com/doi/full/10.1111/gcbb.12443)gge()
computes the genotype plus genotype-vs-environment model.plot_factbars()
and plot_factlines()
are used to create bar and line plots, respectively, considering an one- or two-way experimental design.desc_stat()
computes several descriptive statistics.can_corr()
computes canonical correlation coefficients.resp_surf()
computes response surface model using two quantitative factors.make_mat()
is used to create a two-way table using two columns (factors) and one response variable.make_sym()
is used to create a symmetric matrix using a upper- or lower-diagonal matrix.AMMI_indexes()
and fai_blup()
and desc_stat()
. For example, to indicate the statistics to be computed in desc_stat()
you must use now stats = c("mean, SE.mean, CV, max, min"))
instead stats = c("mean", "SE.mean", "CV", "max", "min"))
In the latest development version, the package METAAB was renamed to metan (multi-environment trials analysis). Aiming at a cleaner coding, in this version, some functions were deprecated and will be defunct in the near future. Alternative functions were implemented.
WAAS.AMMI()
, use waas()
.WAASBYratio()
, use wsmp()
.WAASratio.AMMI()
, use wsmp()
.autoplot.WAAS.AMMI()
, use autoplot.waas()
.plot.WAASBYratio()
, use plot.wsmp()
.plot.WAASratio.AMMI()
, use plot.wsmp()
.predict.WAAS.AMMI()
, use predict.waas()
.summary.WAAS.AMMI()
, use summary.waas()
Widely-known parametric and nonparametric methods were implemented, using the following functions.
Annicchiarico()
to compute the genotypic confidence index.ecovalence()
to compute the Wricke’s ecovalence.ge_factanal()
to compute to compute the stability and environmental.ge_reg()
to compute the joint-regression analysis. stratification using factor analysis.superiority()
to compute the nonparametric superiority index.In the latest development version, some useful functions were included. One of the most interesting features included in this version was allowing the functions to receive data from the forward-pipe operator %>%. Bellow are the functions included in this version.
anova_ind()
to perform a within-environment analysis of variance easily;colindiag()
to perform a collinearity diagnostic of a set of predictors;afind_outliers()
to easily find possible outliers in the dataset;group_factors()
to split a dataset into a list of subsets using one or more grouping factors. This function may be used befor some functions, e.g., find_outliers()
, colindiag()
, path_coeff()
to compute the statistics for each level of the factor (or combination of levels of factors).lpcor()
to compute linear and partial correlation coefficients.pairs_mantel()
to compute a graphic pairwise Mantel’s test using a set of correlation matrices;path_coeff()
to compute path coefficients with minimal multicollinearity;The following S3 Methods were also implemented:
is.group_factors()
and as.group_factors()
to check or easily coerce a dataframe that has one or more factor columns to an object of group_factors
;is.lpcorr()
and as.lpcorr()
to check or easily coerce a list of correlation matrices to an object of lpcorr
;