I'm a bit confused on how to use lapply with a data.frame.
For example.
lapply(data, function(x) print(x))
WHAT exactly is passed to the function. Is it each ROW in the data
frame, one by one, or each column, or the entire frame in one shot?
What I want to do apply a function to each row in the data frame. Is
lapply the right way.
A second application is to normalize a column value by group. For
example, if I have the following table:
id group value norm
1 A 3.2
2 A 3.0
3 A 3.1
4 B 5.5
5 B 6.0
6 B 6.2
etc...
The long version would be:
foreach (group in unique(data$group)){
data$norm[group==group] <- data$value[group==group] /
sum(data$value[group==group])
}
There must be a faster way to do this with lapply. (Ideally, I'd then
use mclapply to run on multi-cores and really crank up the speed.)
Any suggestions?
______________________________________________
R-help@r-project.org 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.