gresponse.dmm {dmm}R Documentation

Compute response to selection, given phenotypic selection differentials.


Computes genetic selection differentials, given phenotypic selection differentials and a set of genetic parameters. Effects contributing to response can be any combination of individual additive genetic, individual additive sexlinked genetic, maternal additive genetic, and maternal additive sexlinked genetic. Warning; this function does not currently handle class specific genetic parameters.


## S3 method for class 'dmm'
gresponse(dmmobj, traitset = "all", gls = F,
          psd = list(dp=NULL,,dp.path=NULL),
          effects = "G(Ia)", digits = 3, ...)



An object of class dmm. Genetic parameters are obtained from this object. Normally this object would be obtained from an output from function dmm(), but there is provision ( function make.dmmobj()) for the user to construct a dmm object from external data.


A vector containing the names of the subset of traits for which genetic selection differentials are to be computed, and for which phenotypic selection differentials are to be specified. Default is "all" which means all traits present in object dmmobj. The order of traits listed here determines the order in all objects returned.


Logical flag: should the parameter estimates by GLS-b method be used rather than the parameter estimates by OLS-b method? Default is gls=FALSE. The GLS-b parameters can only be used if object dmmobj contains the attribute gls, that is if dmmobj was constructed by a dmm() call with parameter gls=TRUE.


A list containing the overall (dp), sex-specific (, or path-specific (dp.path) phenotypic selection differentials. Only one of these three need be specified. Units for phenotypic selection differentials are the same as units for the traits in the dataframe used to construct dmmobj. Units for traits in the phenotypic (co)variance matrix are also the same, albeit squared because they are second moments. The default is a NULL so something must be specified for the psd argument or the function will return an error. Phenotypic selection differentials are defined as the difference between the mean of the selected group of individuals and the mean of the whole unselected population, for each trait.

The three psd options are specified as follows





where 'vector' is always of length equal to the number of traits.

Regardless of which psd option is specified the gresponse() function always sets up dp.path internally and uses this to compute the genetic selection differentials separately for each path.


A vector of character codes specifying the genetic effects contributing to the response computed. There are four options which can be used in any combination:


Individual additive genetic effect


Individual additive sexlinked genetic effect


Maternal additive genetic effect


Maternal additive sexlinked genetic effect

The default is "G(Ia)".


Number of digits for output. This is returned as part of the return value for use by the S3 print function print.gresponse.dmm().


Ellipsis argument


The gresponse() function defines four 'paths' of improvement as follows


Heterogametic sex in the parent to heterogametic sex in the progeny


Homogametic sex in the parent to heterogametic sex in the progeny


Heterogametic sex in the parent to homogametic sex in the progeny


Homogametic sex in the parent to homogametic sex in the progeny

The response or genetic selection differentials are always calculated separately for each of the four paths, then pooled to give sex specific gsd's, then pooled again to give an overall gsd. This is strictly only needed for responses due to sexlinked effects, but is done for generality.

Clearly if we are computing individual additive genetic responses, the individual additive genetic variance (called "VarG(Ia)") must be available in object dmmobj. If computing both individual and maternal additive genetic responses, both the individual and maternal additive genetic variances (called "VarG(Ia)" and "VarG(Ma)") must be available in object dmmobj. Their genetic covariances (called "CovG(Ia,Ma)" and "CovG(Ma,Ia)") can optionally be available in object dmmobj, if they are not present they are assumed zero. The same applies for sexlinked additive genetic response and maternal sexlinked additive genetic response.

It is advisable to ensure that all parameter matrices are positive definite. In particular the phenotypic covariance matrix must have an inverse.


An object of class gresponse.dmm, which is a list containing the following items:


A character string which is either "overall", "sex", or "path". Describes the type of object used to specify the psd argument


A list containing one of dp,, dp.path, with the others defaulting to NULL, as specifieds in the psd argument


The combined genetic covariance matrix. In all cases there will be 4 partitions, one for each of the effects "G(Ia)", "Gs(Ia)", "G(Ma)", and "Gs(Ma)", so the matrix will be of size (4 * l) x (4 * l) where l is number of traits. Effects not specified in argument effects will have their corresponding partitions of gcov set to zero matrices.


The given phenotypic covariance matrix.


A list containing the R matrices for each path. These incorporate the factor of 0.5 for maternal effects, and the appropriate path factors (0.0, 1.0, or 0.5) for transmission of effects located on the sex chromosome.


A list containing the genetic selection differentials (gsd) for given psd, the genetic selection differentials (ugsd) for unit psd on each trait, the directional selection gradients (dsg), and the given phenotypic selection differentials (psd). Each of these is given separately for each of the paths (he.he, ho.he, he.ho, ho.ho), where 'he' stands for the heterogametic sex, and 'ho' stands for the homogametic sex. The genetic selection differentials are also given summed across all the effects (gdsum), again separately for each of the paths.


A list containing the genetic selection differentials (gsd) achieved by selection of each sex separately (gsd.he. and gsd.ho.), and observed in each sex separately (gsd..he and gsd..ho), as well as summed over effects (gsdsum), again separately for each sex selected, and observed in each sex. The separate phenotypic selection differentials for each sex (psd.he. and psd.ho.)are also given.


A list containing the overall genetic selection differentials (gsd), for each effect (gsd..) and summed over effects(gsdsum... The overall phenotypic selection differential (psd..) is also given.


The argument digits specified in the function call


The argument effects specified in the function call


A character vector containing all the specified trait names


The function call


There is no provision for computing the effect of non-additive genetic (co)variances on genetic selection differentials. The genetic selection differentials calculated are for a one generation response only. In the case of maternal effects there will be lags in response and the phenotypic response will not match the genetic response. There is no provision for overlapping generations. There is no provision for sex-specific genetic parameters.


Neville Jackson


Dickerson,G(1947) Iowa Agricultural Research Station Bulletin No.354 pp489-524

Griffing,B(1966) "Influence of Sex on Selection. III Joint contribution of sex-linked and autosomal genes" Aust. J. Biol. Sci. 19: 775-93

Walsh,B(2009) "Multivariate Selection Response and Estimation of Fitness Surfaces" 2nd Annual NSF short course on Statistical Genetics, Honolulu (13-17 July,2009).

See Also

Functions print.gresponse.dmm(), summary.gresponse.dmm(), make.dmmobj().


# get some data
# prepare it - only need "E" and "A" relationship matrices
sheep.mdf <- mdf(sheep.df,pedcols=c(1:3),factorcols=c(4:6),ycols=c(7:9),
# estimate genetic parameters - individual and maternal
sheep.fit5 <- dmm(sheep.mdf, Ymat ~ 1 + Year + Sex,
# compute response using overall psd
sheep.resp <- gresponse(sheep.fit5,psd=list(dp=c(1,1,1)),effects=c("G(Ia)","G(Ma)"))
# look at the response object
# cleanup

[Package dmm version 2.1-8 Index]