ywh19860616 比如存在一个矩阵,我想计算每两列的比值 myfunc <- function(x,y) { return(x[,y]/x[,y-1]) } m1 = matrix(c(1,2,3,4,5,6,7,8,9),nrow=3) myfunc(m1,2) ##第2列和第1列 我想用apply实现,比如 apply(m1,1,myfunc,y=2) 但是提示错误,请各位老师请教! 谢谢
Simplicissimus 从你关于myfunc的定义来看,是按列抽数,而apply函数中MARGIN=1表示按行抽取,所以当然报错了。 apply,这厮应该是不支持迭代的抽数的。 洒家黔驴技穷,提供一段sapply代码。 sapply(2:ncol(m1), function(Z){myfunc(m1, Z)}) # 假定从第2列计算到最后一列