如果我们想要apply一个函子,也就是矩阵的每一行,但同时也想用该函数的行数作为参数,那该怎么办?例如,假设您想要得到矩阵的每一行中数字的第n根,其中n是行号。除了将行号绑定到初始矩阵之外,还有其他方法(仅使用apply )吗?
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])))实际上,如果test是一个矩阵:test <- matrix(c(26,21,20,34,29,28),nrow=3),行名(Test)没有帮助:(谢谢。
发布于 2010-03-31 15:27:11
实际上,在矩阵的情况下,您甚至不需要apply。只是:
test^(1/row(test))做你想做的事,我想。我认为row()函数是您正在寻找的东西。
https://stackoverflow.com/questions/2545879
复制相似问题