Re: [R] Repeating lines in a data frame

From: Sundar Dorai-Raj <sundar.dorai-raj_at_pdf.com>
Date: Wed 19 Oct 2005 - 06:56:41 EST

Guenther, Cameron wrote:
> Hello,
> I have a much larger dataset that is similar in form to:
> year species length count
> 1998 1 150 1
> 1998 2 200 1
> 1998 3 250 2
> 1999 1 150 3
> 1999 2 200 4
> 1999 3 250 5
> 2000 1 150 1
> 2000 2 200 1
> 2000 3 250 1
> 2001 1 150 2
> 2001 2 200 3
> 2001 3 250 1
> 2002 1 150 1
> 2002 2 200 2
> 2002 3 250 3
>
> What I want is to have a line of data for each year x species x length
> group combination
> I would like the ouput to be:
>
> Year species length count
> 1998 1 150 1
> 1998 2 200 1
> 1998 3 250 1
> 1998 3 250 1
> 1999 1 150 1
> 1999 1 150 1
> 1999 1 150 1
> 1999 2 200 1
> .
> .
> .
>
> Can anyone help me with a for statement of a function that can
> accomplish this?

How about:

r <- rep(row.names(x), x$count)
y <- x[r, ]
y$count <- rep(1, nrow(y))

where `x' is your data.frame. This will also create new row.names what show where the duplicates are.

HTH, --sundar



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Oct 19 07:18:17 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 19:03:27 EST