Hi I have a data-frame which look like this X1 X2 X3 1 3 5 2 4 6 3 6 1 I want to apply a formula Y=6*X1 + 7*X2 + 8*X3 for every row Thanks in Advance -- View this message in context: http://r.789695.n4.nabble.com/how-to-call-a-function-for-each-row-tp4122906p4122906.html Sent from the R help mailing list archive at Nabble.com.
Read ?apply This is easiest: df <- matrix(c(1,2,3,3,4,6,5,6,1), 3) apply(df, 1, function(x) 6*x[1]+7*x[2]+8*x[3]) But it's much more efficient to do it with matrix multiplication. In keeping with the best of tradition, this is left as an exercise to the reader. Michael On Wed, Nov 30, 2011 at 8:10 AM, arunkumar1111 <akpbond007 at gmail.com> wrote:> Hi > > ?I have ?a data-frame which look like this > > X1 X2 X3 > 1 ? 3 ?5 > 2 ? 4 ?6 > 3 ? 6 ?1 > > I want to apply a formula Y=6*X1 + 7*X2 + 8*X3 ?for every row > > > Thanks in Advance > > > > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/how-to-call-a-function-for-each-row-tp4122906p4122906.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >
will this do it:> x <- read.table(text = "X1 X2 X3+ 1 3 5 + 2 4 6 + 3 6 1", header = TRUE)> xX1 X2 X3 1 1 3 5 2 2 4 6 3 3 6 1> apply(x, 1, function(a) 6 * a[1] + 7 * a[2] + 8 * a[3])[1] 67 88 68> >On Wed, Nov 30, 2011 at 8:10 AM, arunkumar1111 <akpbond007 at gmail.com> wrote:> Hi > > ?I have ?a data-frame which look like this > > X1 X2 X3 > 1 ? 3 ?5 > 2 ? 4 ?6 > 3 ? 6 ?1 > > I want to apply a formula Y=6*X1 + 7*X2 + 8*X3 ?for every row > > > Thanks in Advance > > > > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/how-to-call-a-function-for-each-row-tp4122906p4122906.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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.-- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it.
Homework. ? I would say that this indiicates that you need to open the R tutorials and start reading. -- Bert On Wed, Nov 30, 2011 at 5:10 AM, arunkumar1111 <akpbond007 at gmail.com> wrote:> Hi > > ?I have ?a data-frame which look like this > > X1 X2 X3 > 1 ? 3 ?5 > 2 ? 4 ?6 > 3 ? 6 ?1 > > I want to apply a formula Y=6*X1 + 7*X2 + 8*X3 ?for every row > > > Thanks in Advance > > > > > > > > -- > View this message in context: http://r.789695.n4.nabble.com/how-to-call-a-function-for-each-row-tp4122906p4122906.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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.-- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm