我写了一个函数,必须创建一个rxk矩阵,并用代码中给出的formule填充它。
mCreate<-function(r,k)
{
result<-array(0,dim=c(r,k))
for(R in 0:(r-1))
{
for(K in 0:(k-1))
{
result[R][K] = 5*R^K-2*K^R
}
}
return(result)
}
当我尝试测试时,我总是得到“R要替换的项目数不是替换长度的倍数”。我不明白为什么,我在google上搜索过,而且我总是得到它的信息,因为我已经出去了。
答案 0 :(得分:2)
我会使用outer
代替......
mCreate <- function( r , c ){
r <- seq_len(r)
c <- seq_len(c)
m <- outer( r , c , FUN = function(x,y) 5*x^y-2*y^x )
return( m )
}
mCreate( 4 , 4 )
# [,1] [,2] [,3] [,4]
#[1,] 3 1 -1 -3
#[2,] 8 12 22 48
#[3,] 13 29 81 277
#[4,] 18 48 158 768
# Sanity check:
mCreate( 1 , 1 )
# [,1]
#[1,] 3
# Safety check:
mCreate( 0 ,0 )
<0 x 0 matrix>