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: 196
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