Or use sequence() and rep(), as in u1 <- with(tab, data.frame(pop=rep(pop,Freq), ind=sequence(Freq))) I think that u1 is the same as your u.
Bill Dunlap TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf > Of Dennis Murphy > Sent: Thursday, March 13, 2014 1:55 PM > To: arun > Cc: R help > Subject: Re: [R] creating table with sequences of numbers based on the table > > Less coding with plyr: > > tab <- read.table(text="pop Freq > 1 1 30 > 2 2 25 > 3 3 30 > 4 4 30 > 5 5 30 > 6 6 30 > 7 7 30",sep="",header=TRUE) > > # Function to do the work on each row > f <- function(pop, Freq) data.frame(ind = seq_len(Freq)) > > library(plyr) > u <- mdply(tab, f)[, -2] > > Dennis > > On Thu, Mar 13, 2014 at 8:01 AM, arun <smartpink...@yahoo.com> wrote: > > Hi, > > Try: > > Either > > > > tab <- read.table(text="pop Freq > > 1 1 30 > > 2 2 25 > > 3 3 30 > > 4 4 30 > > 5 5 30 > > 6 6 30 > > 7 7 30",sep="",header=TRUE) > > > > indx <- rep(1:nrow(tab),tab$Freq) > > tab1 <- > > transform(tab[indx,],ind=ave(seq_along(indx),indx,FUN=seq_along))[,-2] > > #or > > tab2 <- transform(tab[indx,],ind=unlist(sapply(tab$Freq,seq)))[,-2] > > identical(tab1,tab2) > > #[1] TRUE > > #or > > tab3 <- transform(tab[indx,], ind= > > with(tab,seq_len(sum(Freq))-rep(cumsum(c(0L,Freq[- > length(Freq)])),Freq)))[,-2] > > identical(tab1,tab3) > > #[1] TRUE > > > > A.K. > > > > > > I have a problem with transfering one table to another automatically. From > > table like > this: > > > >> tab > > pop Freq > > 1 1 30 > > 2 2 25 > > 3 3 30 > > 4 4 30 > > 5 5 30 > > 6 6 30 > > 7 7 30 > > > > I want to use number of individuals (freq) and then in next > > table just list them with following numbers (depending on total number > > of individuals) > > Like this: > > in > > pop ind > > > > 1 1 > > 1 2 > > 1 3 > > 1 4 > > . . > > . . > > 1 30 > > 2 1 > > 2 2 > > 2 3 > > 2 4 > > . . > > 2 25 > > 3 1 > > 3 2 > > . . > > . . > > > > How can i do it? I think i have to use loops but so far I failed. > > Thank you in advance, > > Best, > > Malgorzata Gazda > > > > ______________________________________________ > > R-help@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. > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.