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
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
will this do it:
x - read.table(text = X1 X2 X3
+ 1 3 5
+ 2 4 6
+ 3 6 1, header = TRUE)
x
X1 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, arunkumar akpbond...@gmail.com wrote:
Hi
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, arunkumar akpbond...@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
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
if you want to store the result in a column of your data.frame:
within(df, Y - 6*X1+7*X2+8*X3)
On Wed, Nov 30, 2011 at 9:59 AM, David L Carlson dcarl...@tamu.edu wrote:
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
6 matches
Mail list logo