[R] How to resample one per group

ONKELINX, Thierry Thierry.ONKELINX at inbo.be
Thu Nov 17 12:50:55 CET 2011


Something like this?

library(plyr)
ddply(df, .(group), function(x){
  x[sample(nrow(x), 1), ]
})

Best regards,

Thierry

----------------------------------------------------------------------------
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek
team Biometrie & Kwaliteitszorg
Gaverstraat 4
9500 Geraardsbergen
Belgium

Research Institute for Nature and Forest
team Biometrics & Quality Assurance
Gaverstraat 4
9500 Geraardsbergen
Belgium

tel. + 32 54/436 185
Thierry.Onkelinx op inbo.be
www.inbo.be

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey


> -----Oorspronkelijk bericht-----
> Van: r-help-bounces op r-project.org [mailto:r-help-bounces op r-project.org]
> Namens Johannes Radinger
> Verzonden: donderdag 17 november 2011 12:37
> Aan: r-help op r-project.org
> Onderwerp: [R] How to resample one per group
> 
> Hello,
> 
> I have got a dataframe which looks like:
> 
> y <- c(1,5,6,2,5,10) # response
> x <- c(2,12,8,1,16,17) # predictor
> group <- factor(c(1,2,2,3,4,4)) # group
> df <- data.frame(y,x,group)
> 
> Now I'd like to resample that dataset.
> I want to get dataset (row)
> per group. So per total sample I get 4 rows into a new data frame. How can I do
> that?
> Is there any simple approach using an existing package.
> 
> I looked at function strata() from package sampling.
> I don't if that is the function for that or if there is a simpler approach with
> sample().
> 
> What I unsuccessfully tried so far:
> 
> library(sampling)
> strata(data=df,group,size=(rep(1,nlevels(group))))
> 
> Maybe you can help me to do this resampling...
> 
> Thank you,
> Johannes
> --
> 
> ______________________________________________
> R-help op 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.



More information about the R-help mailing list