2013-07-18 126 views
1

我想获得一个返回矩阵的函数。函数返回意外值

mat1 <- function(k) 
{ 
    mat2 <- matrix(0, ncol = 664, nrow = 182) 
    for (i in 1:664) 
    { 
    mat2[,i] <- weight0.0025(i,k) 
    } 
} 

其中weight0.0025是一个函数,返回一个182长的向量,但不知何故这不起作用。

什么是更令人沮丧的是,

mat2 <- matrix(0, ncol = 664, nrow = 182) 
for(i in 1:664) 
{ 
    mat2[,i] <- weight0.0025(i,k) 
} 

按预期工作。

我知道我可以写在3维阵列的形式,但我需要优化k。

+0

“weight0.0025”函数名? – phoxis

+0

是的,它是一个函数,返回一个长度为182的矢量 – user1627466

回答

4

你的函数需要一个return语句。

mat1 <- function(k){ 
    mat2 <- matrix(0, ncol = 664, nrow = 182) 
    for (i in 1:664){ 
    mat2[,i] <- weight0.0025(i,k) 
    } 
    return(mat2) 
} 
+0

所以就这么简单......谢谢。 – user1627466