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? Thanks Shailly [[alternative HTML version deleted]]
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"] Read the R intro manual. Berend> Thanks > Shailly > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.
HI, Try this: dat1<-read.table(text=" A????????????? B??????????? C????? 1????????????? 10????????? 1?????? 2????????????? 30????????? 1?????? 3????????????? 50????????? 1?????? 1000????? 1000??????? 1??????? 1????????????? 10????????? 2?? 2????????????? 30????????? 2?? 3????????????? 50????????? 2?? 1000??????? 1000????? 2??????? ",sep="",header=TRUE) ?dat1$R<-apply(dat1,1,function(x) x[1]+x[2]*x[3]) ?dat1 #???? A??? B C??? R #1??? 1?? 10 1?? 11 #2??? 2?? 30 1?? 32 #3??? 3?? 50 1?? 53 #4 1000 1000 1 2000 #5??? 1?? 10 2?? 21 #6??? 2?? 30 2?? 62 #7??? 3?? 50 2? 103 #8 1000 1000 2 3000 A.K. ----- Original Message ----- From: SHAILLY MEHROTRA <shaillymehrotra at gmail.com> To: r-help at r-project.org Cc: Sent: Sunday, November 4, 2012 7:07 AM Subject: [R] For loop... 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? Thanks Shailly ??? [[alternative HTML version deleted]] ______________________________________________ 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.