Hello,
I very much enjoy "with" and "subset" semantics for data frames and was
wondering if we could have something similar with split, basically by
evaluating the second argument "with" the data frame :
split.data.frame
function(x, f, drop = FALSE, ...){
call <- match.call( )
fcall <- call( "with", data = call[["x"]], expr = call[["f"]] )
ff <- eval( fcall, parent.frame(1) )
lapply(split(seq_len(nrow(x)), ff, drop = drop, ...),
function(ind) x[ind, , drop = FALSE])
}
> split( df, y )
$`1`
x y
1 1 1
2 2 1
3 3 1
4 4 1
5 5 1
$`2`
x y
6 6 2
7 7 2
8 8 2
9 9 2
10 10 2
> split( df, x > 3 )
$`FALSE`
x y
1 1 1
2 2 1
3 3 1
$`TRUE`
x y
4 4 1
5 5 1
6 6 2
7 7 2
8 8 2
9 9 2
10 10 2
Romain
--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://tr.im/HlX9 : new package : bibtex
|- http://tr.im/Gq7i : ohloh
`- http://tr.im/FtUu : new package : highlight
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel