Skip to content

Help on apply() function

3 messages · Megh Dal, Sarah Goslee, jim holtman

#
Hi all, can you please clarify me what is the wrong with following codes :

set.seed(30)
z = matrix(rnorm(10), 5, 2)
apply(z, 1, function(x) sum(z[x,1]*1, z[x,2]*3))

However I can not get the desired result. For example, "sum(z[1,1]*1,
z[1,2]*3)" gives -5.822442 which is actually correct. Am I missing something
in apply() function?

Regards,
#
You are indeed missing something. x is _one row_ of z, not the index
specifying that row. So what you want is:
apply(z, 1, function(x)sum(x[1]*1, x[2]*3))

Thanks for including a reproducible example.

Sarah
On Tue, Apr 28, 2009 at 9:02 PM, megh <megh700004 at yahoo.com> wrote: