我相乘这里创建矩阵...矩阵乘数%*%的误差
CreateMatrix <- function(frame,env){
M = matrix(c(frame$EE[env],0,0,frame$Fe[env],
frame$EL[env],frame$LL[env],0,0,
0,frame$LP[env],frame$PP[env],0,
0,0,frame$PA[env],frame$AA[env]),
nrow=4,byrow=T)
return(M)
}
Models = list()
for (i in seq(0,16)){
newModel <- CreateMatrix(Total,i)
Models[[i+1]] <- newModel
}
其中, “合计” 是一个数据帧
...递归以下功能:
GrowthSeq <- function(matrix, t,P0){
M0 = matrix(c(132,0,0,0),nrow=4)
time = seq(0,t,1)
G = matrix
M = matrix(0,nrow=nrow(G),ncol=length(time))
rownames(M)=c("Eggs","Larvae","Pupae","Adults")
M[,1]= M0
print(is.matrix(G))
print(is.matrix(M))
for (d in 2:length(time)){
print(is.matrix(t(M[,d-1])))
M[,d]<-G%*%t(M[,d-1])
}
return(M)
}
g <- GrowthSeq(Models[[1]],100,500)
导致
[1] TRUE
[1] TRUE
[1] TRUE
Error in G %*% M[, d - 1] :
requires numeric/complex matrix/vector argument
我不明白这两个向量我都是矩阵,但是这个错误仍然存在。为什么我试图将矩阵M和G相乘无效?
请注意,你的代码一般是对我们没用,因为正在创建 – Ell