[R] Count of rows while looping through data

Phil Spector spector at stat.berkeley.edu
Tue May 24 23:54:19 CEST 2011


Jeanna -
     I can't imagine how you could solve this problem with a 
loop, but here's one way to solve it using R:

First, I'll create a data frame with a family variable:

> x = data.frame(family = rep(1:20,sample(2:5,20,replace=TRUE)))

Next, I'll number each family member within each family:

> x$seq = ave(x$family,x$family,FUN=seq)

Now I'll choose a random number within each family:

> x$use = ave(x$family,x$family,FUN=function(x)sample(1:length(x),1))

Finally, I'll select the family member whose sequence number 
matches the random number:

> answer = subset(x,seq == use)

Hope this helps.  Take a look at the help page for the ave function
to understand how it works.
 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu


On Tue, 24 May 2011, Jeanna wrote:

> I have a data table with one column that indicates families, and subsequent
> columns with other characteristics.  I want to randomize one member of the
> family to a separate table.  My approach is to count the number of members,
> set up a random number generator, and assign the family member based on
> where they fall within the random number spectrum.
>
> Is there a way to count the number of family members as I loop through the
> whole table?
>
> Something like this:
> for (j in 1:15){
> 	if (x$family[j] == x$family[j+1]){
>        count = count +1
> (which doesn't work)
>
> as I do the larger:
> for (i in 2:nrow(x.tab)){
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Count-of-rows-while-looping-through-data-tp3547949p3547949.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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