Row/column counter in 'apply' functions

Posted by mortalitysequence on Stack Overflow See other posts from Stack Overflow or by mortalitysequence
Published on 2010-03-30T14:13:37Z Indexed on 2010/03/30 15:03 UTC
Read the original article Hit count: 200

Filed under:
|

What if one wants to apply a functon i.e. to each row of a matrix, but also wants to use as an argument for this function the number of that row. As an example, suppose you wanted to get the n-th root of the numbers in each row of a matrix, where n is the row number. Is there another way (using apply only) than column-binding the row numbers to the initial matrix, like this?

test <- data.frame(x=c(26,21,20),y=c(34,29,28))

t(apply(cbind(as.numeric(rownames(test)),test),1,function(x) x[2:3]^(1/x[1])))

P.S. Actually if test was really a matrix : test <- matrix(c(26,21,20,34,29,28),nrow=3) , rownames(test) doesn't help :( Thank you.

© Stack Overflow or respective owner

Related posts about r

    Related posts about apply