[R] Repeating lines in a data frame
Sundar Dorai-Raj
sundar.dorai-raj at pdf.com
Tue Oct 18 22:56:41 CEST 2005
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
More information about the R-help
mailing list