[R] Applying function to only numeric variable (plyr package?)
Michael.Laviolette at dhhs.state.nh.us
Michael.Laviolette at dhhs.state.nh.us
Wed Oct 12 15:18:29 CEST 2011
My data frame consists of character variables, factors, and proportions,
something like
c1 <- c("A", "B", "C", "C")
c2 <- factor(c(1, 1, 2, 2), labels = c("Y","N"))
x <- c(0.5234, 0.6919, 0.2307, 0.1160)
y <- c(0.9251, 0.7616, 0.3624, 0.4462)
df <- data.frame(c1, c2, x, y)
pct <- function(x) round(100*x, 1)
I want to apply the pct function to only the numeric variables so that the
proportions are computed to percentages, and retain all the columns:
c1 c2 x1 x2
1 A Y 52.3 92.5
2 B Y 69.2 76.2
3 C N 23.1 36.2
4 C N 11.6 44.6
I've been approaching it with the ddply and colwise functions from the plyr
package, but in that case each I need each row to be its own group and
retain all columns. Am I on the right track? If not, what's the best way to
do this?
Thanks in advance,
M. L.
More information about the R-help
mailing list