我有一个矩阵和一个函数,它接受一个向量并返回一个矩阵。我想将该函数应用于矩阵的所有行,并将所有结果混合在一起。例如,强制适用于返回列表
mat <- matrix(1:6, ncol=2)
f <- function (x) cbind(1:sum(x), sum(x):1)
do.call(rbind, apply(mat, 1, f))
由于返回的矩阵具有不同的行数,所以适用返回一个列表,因此可以很好地工作。但是,如果他们碰巧有行相同的数字,这并不工作了:
mat <- f(3)
apply(mat, 1, f)
申请返回一个矩阵从中我无法得到我想要的结果。是否有可能强制适用于返回列表或有其他解决方案?
这工作。我不知道拆分功能。谢谢! – mosaic 2011-06-05 08:07:02
由于seq(0)给出c(1,0),所以当你必须处理空矩阵时,会遇到问题。 – meow 2015-01-27 15:43:53