[R] getting sapply to skip columns with non-numeric data?
Liaw, Andy
andy_liaw at merck.com
Fri Aug 18 01:30:01 CEST 2006
There's something that either you have not thought of or neglected to tell
us: If you have k variables in the data frame, you will need a data frame
of k variables and one row to be able to rbind() to the bottom of the
original one. What are you going to put in place for non-numeric variables?
Perhaps this might help:
R> dat <- data.frame(f=factor(1:3), x=3:5, y=6:4)
R> rbind(dat, as.data.frame(lapply(dat, function(x) if (!is.numeric(x)) NA
else mean(x))))
f x y
1 1 3 6
2 2 4 5
3 3 5 4
11 <NA> 4 5
Andy
From: r user
>
> 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 at 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.
>
>
More information about the R-help
mailing list