# [R] how to call a function for each row

David L Carlson dcarlson at tamu.edu
Wed Nov 30 15:59:24 CET 2011

```Isn't this even easier?

> X1 <- c(1:3)
> X2 <- c(3, 4, 6)
> X3 <- c(5, 6, 1)
> Y <- 6*X1 + 7*X2 + 8*X3
> Y
[1] 67 88 68

Or if you really need a function:

> MakeY <- function(x, y, z) 6*x + 7*y + 8*z
> MakeY(X1, X2, X3)
[1] 67 88 68

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of R. Michael Weylandt
Sent: Wednesday, November 30, 2011 8:17 AM
To: arunkumar1111
Cc: r-help at r-project.org
Subject: Re: [R] how to call a function for each row

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
>
>
>
>
>
>
>
>
>
> --
> View this message in context:
> http://r.789695.n4.nabble.com/how-to-call-a-function-for-each-row-tp41
> 22906p4122906.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
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
and provide commented, minimal, self-contained, reproducible code.

```