miceadds (version 3.2-48)

GroupMean: Calculation of Groupwise Descriptive Statistics for Matrices

Description

Calculates some groupwise descriptive statistics.

Usage

GroupMean(data, group, weights=NULL, extend=FALSE)

GroupSum(data, group, weights=NULL, extend=FALSE)

GroupSD(data, group, weights=NULL, extend=FALSE)

# group mean of a variable gm(y, cluster)

# centering within clusters cwc(y, cluster)

Arguments

data

A numeric data frame

group

A vector of group identifiers

weights

An optional vector of sample weights

extend

Optional logical indicating whether the group means (or sums) should be extended to the original dimensions of the dataset.

y

Variable

cluster

Cluster identifier

Value

A data frame or a vector with groupwise calculated statistics

See Also

mitml::clusterMeans

base::rowsum, stats::aggregate, stats::ave

Examples

Run this code
# NOT RUN {
#############################################################################
# EXAMPLE 1: Group means and SDs data.ma02
#############################################################################

data(data.ma02, package="miceadds" )
dat <- data.ma02[[1]] # select first dataset

#--- group means for read and math
GroupMean( dat[, c("read","math") ], group=dat$idschool )
# using rowsum
a1 <- base::rowsum( dat[, c("read","math") ], dat$idschool )
a2 <- base::rowsum( 1+0*dat[, c("read","math") ], dat$idschool )
(a1/a2)[1:10,]
# using aggregate
stats::aggregate(  dat[, c("read","math") ], list(dat$idschool), mean )[1:10,]

#--- extend group means to original dataset
GroupMean( dat[, c("read","math") ], group=dat$idschool, extend=TRUE )
# using ave
stats::ave( dat[, "read" ], dat$idschool  )
stats::ave( dat[, "read" ], dat$idschool, FUN=mean )

# }
# NOT RUN {
#--- group standard deviations
GroupSD( dat[, c("read","math") ], group=dat$idschool)[1:10,]
# using aggregate
stats::aggregate(  dat[, c("read","math") ], list(dat$idschool), sd )[1:10,]

#############################################################################
# EXAMPLE 2: Calculating group means and group mean centering
#############################################################################

data(data.ma07, package="miceadds")
dat <- data.ma07

# compute group means
miceadds::gm( dat$x1, dat$id2 )
# centering within clusters
miceadds::cwc( dat$x1, dat$id2 )

# evaluate formula with model.matrix
X <- model.matrix( ~ I( miceadds::cwc(x1, id2) ) + I( miceadds::gm(x1,id2) ), data=dat )
head(X)
# }

Run the code above in your browser using DataLab