Use the first few rows of iris as test data and try this where isnum is 1 for each numeric column and NA for others.
irish <- head(iris) isnum <- ifelse(sapply(iris, class) == "numeric", 1, NA) iris.data <- data.matrix(iris) rbind(iris, colMeans(iris.data) * isnum, sd(iris.data) * isnum) On 8/17/06, r user <[EMAIL PROTECTED]> wrote: > getting s-apply to skip columns with non-numeric data? > I have a dataframe "x" of w columns. > > Some columns are numeric, some are not. > > I wish to create a function to calculate the mean and > standard deviation of each numeric column, and then > "bind" the column mean and standard deviation to the > bottom of the dataframe. > > e.g. > > tempmean <- apply(data.frame(x), 2, mean, na.rm = T) > xnew <- rbind(x,tempmean) > > I am running into one small problem…what is the best > way to have sapply "skip" the non-numeric data and > return NA's? > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.