[R] split function
Henrique Dallazuanna
wwwhsd at gmail.com
Fri Feb 26 20:04:42 CET 2010
Try this:
split(data.frame(x, g), g)
On Fri, Feb 26, 2010 at 3:55 PM, rusers.sh <rusers.sh at gmail.com> wrote:
> Hi,
> I am using split function and wonder how to add the factor to the splitted
> results.
> #Example
> n <- 3; nn <- 10
> g <- factor(round(n * stats::runif(n * nn))) #factor
> x <- rnorm(n * nn) + sqrt(as.numeric(g)) #value
> xg <- split(x, g)
> xg
> $`0`
> [1] 0.82513702 -0.03911584 2.32955347 0.36745335 1.75572642 2.65461438
> 0.41675829
> $`1`
> [1] 0.8583493 2.4264804 -0.3622378 3.1770015 0.5162129
> $`2`
> [1] 1.7914651 1.1440121 0.8097543 1.2064742 1.6411988 1.3743778 1.7094387
> 2.1204501 1.9330132 2.0731997
> [11] 2.8931865 2.5825309 0.6978723
> $`3`
> [1] 3.0246214 1.6870782 0.9685926 1.6449350 0.9378751
>> g
> [1] 2 2 3 2 1 3 2 3 3 1 2 2 2 2 0 0 3 0 2 2 1 1 2 2 0 1 2 0 0 0
> Levels: 0 1 2 3
>
> Anybody can tell me how to add the corresponding values of factor "g" to
> the splitted results 'xg' to get a data frame?
> Something like,
>
> Splitted/xg factor/g
> 0.82513702 0
> -0.03911584 0
> 2.32955347 0
> ...
> I know i can use "xg$'0',xg$'1',xg$'2',xg$'3'" to get the values of each
> class and then add a new variable to indicate the factor.
> But i hope to get a method to automatic do those things. Any ideas?
> Thanks.
>
>
> --
> -----------------
> Jane Chang
> Queen's
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
More information about the R-help
mailing list