[R] FW: Select a random subset of rows out of matrix

arun smartpink111 at yahoo.com
Wed Nov 21 14:25:57 CET 2012


HI,
Your question is not very clear to me.

dat1<-data.frame(x=c(1,1,2,2,2,3,4,4),y=c(23,45,87,46,78,12,87,79))
If I select randomly 80% of data:
 dat1[sample(nrow(dat1),0.8*nrow(dat1)),]
#  x  y
#4 2 46
#6 3 12
#7 4 87
#3 2 87
#2 1 45
#8 4 79

In this case, it is a mix of all the records that was in the original data.  So, if I understand correctly, then you want to get the original data, instead of the 80% data (as you want all the records).  But, suppose if the sample is:
 set.seed(244)
 dat2<-dat1[sample(nrow(dat1),0.8*nrow(dat1)),]
 dat2
#  x  y
#2 1 45
#7 4 87
#8 4 79
#1 1 23
#5 2 78
#4 2 46

You wanted to eliminate the records 3 from the original dataset.  Is that what you meant?
If that is the case:
dat1[dat1$x%in%dat2$x,]
#  x  y
#1 1 23
#2 1 45
#3 2 87
#4 2 46
#5 2 78
#7 4 87
#8 4 79

A.K.





----- Original Message -----
From: Madhu Ganganapalli <mganganapalli at upstreamsoftware.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc: 
Sent: Wednesday, November 21, 2012 4:10 AM
Subject: Re: [R] FW: Select a random subset of rows out of matrix

Hi,
  This is Madhu and I have a following doubt please give a solution...

**>i have the following data frame
from this i want to select a 80% of data randomly in such a way that
if the selected records are 1 and then we have to get the all records corresponding to 1
similarly for 2 also and soon......... help me

    data<-data.frame(x=c(1,1,2,2,2,3,4,4,4),y=c(23,45,87,46,78,12,87,79));**


Regards,
Madhu.

    [[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.





More information about the R-help mailing list