Hi Bert, I think you missed my clarification on the question, which I by mistake posted to the person who replied. Sorry about that. I think by reading my clarifiaction you will understand that I am not just "hammering and hoping". I have a valid question. Thanks Shailly On Sun, Nov 4, 2012 at 10:16 AM, Berend Hasselman <b...@xs4all.nl> wrote:
> > On 04-11-2012, at 15:40, Bert Gunter wrote: > > > But ... > > > > On Sun, Nov 4, 2012 at 4:24 AM, Berend Hasselman <b...@xs4all.nl> wrote: > >> > >> On 04-11-2012, at 13:07, SHAILLY MEHROTRA wrote: > >> > >>> Dear R-users, > >>> > >>> I have dataset with column A and B with1000 values, > >>> > >>> For each of column C value (C = seq(1,1000,1), I want to repeat A and B > >>> values and calculate R = A+B*C for each row. > >>> > >>> I want to get output as > >>> > >>> A B C R > >>> 1 10 1 11 > >>> 2 30 1 32 > >>> 3 50 1 53 > >>> 1000 1000 1 2000 > >>> 1 10 2 21 > >>> 2 30 2 62 > >>> 3 50 2 103 > >>> 1000 1000 2 3000 > >>> > >>> How can I do it using for loop? > >>> > >> > >> You don't do that with a for loop. > >> You can do it like this, assuming your dataset is a data.frame and is > named "dat" > >> > >> > >> dat["R"] <- dat["A"] + dat["B"]*dat["C"] > > > > dat[["R"]] <- dat[["A"]] + dat[["B"]]*dat[["C"]] > > > > would be better, I believe. > > > > Right. > > I insert the reply which was sent to me and not to the R-help list: > > > > > I think you misunderstood my question. > > > > In my dataset, I have only two columns.( A and B with 1000 values each). > > I generated a variable C using seq(1,4200,20). > > Now for each value of C, I want to calculate 1000 R values (using 1000 - > A and 1000 - B values) > > Finally, I want to have a dataset in which for each C value , I have > 1000 R values. > > > > So the final dataset should have 210*1000 rows. > > > > Hope it is clear now. > > > > Well try this then: > > dat <- read.table(text=" > A B > 1 10 > 2 30 > 3 50 > 1000 1000 > 1 10 > 2 30 > 3 50 > 1000 1000", header=TRUE) > > dat[,"C"] <- rep(1:2,each=nrow(dat)/2,length.out=nrow(dat)) > > dat[,"R"] <- unlist(lapply(split(dat,dat$C), FUN=function(x) x$A+x$B*x$C)) > dat > > Berend > > > > And the OP would be well-advised to read the Intro to R tutorial > > before posting further on this list. > > > > To quote Rolf Turner on this list: > > > > " Learn something about R; don't just hammer and hope. Read the > > introductory manuals and scan the FAQ.." > > > > -- Bert > > > >> > >> dat[,"R"] <- dat[,"A"] + dat[,"B"]*dat[,"C"] > >> > >> Read the R intro manual. > >> > >> Berend > > [[alternative HTML version deleted]] ______________________________________________ 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.