[R] Errore : requires numeric/complex matrix/vector arguments

Berend Hasselman bhh at xs4all.nl
Sun Oct 20 13:29:37 CEST 2013


On 20-10-2013, at 13:08, valentina colombo <valentina81c at hotmail.it> wrote:

> Dear R users,I'm a new user of R. I'm trying to do a LM test an there is this type of error: Error in t(mX) %*% mX : requires numeric/complex matrix/vector arguments.
> To be clear I write down the code in which mY ( 126,1 )   mX (126,1)   mZ(126,1) are matrix.
> 
> LMTEST <- function(mY, mX, mZ)#mY, mX, mZ must be matrices!#returns the LM test statistic and the degree of freedom{iT = dim(mY)[1]ip = dim(mY)[2]iDF = dim(mZ)[2]*ipmE = mY - mX%*%solve(t(mX)%*%mX)%*%t(mX)%*%mY
> the error starts from the above step     (t(mX)%*%mX)%*%t(mX)%*%mY
> RSS0 = t(mE)%*%mEmXX = cbind(mX, mZ)mK = mE - mXX%*%solve(t(mXX)%*%mXX)%*%t(mXX)%*%mERSS1 = t(mK)%*%mKdTR = sum(diag(solve(RSS0)%*%RSS1))LM = iT*(ip-dTR)pval = 1-pchisq(LM,df=iDF)return( c(pval, LM, iDF) )}
> Any suggestion? Where is the problem? I am getting craxy!

Your code is a complete mess and thus unreadable because you posted in HTML.
Cleaning up and doing this

LMTEST <- function(mY, mX, mZ)#mY, mX, mZ must be matrices!
#returns the LM test statistic and the degree of freedom
{iT = dim(mY)[1]
    ip = dim(mY)[2]
    iDF = dim(mZ)[2]*ip
    mE = mY - mX%*%solve(t(mX)%*%mX)%*%t(mX)%*%mY
# the error starts from the above step   
 (t(mX)%*%mX)%*%t(mX)%*%mY
RSS0 = t(mE)%*%mE
mXX = cbind(mX, mZ)
mK = mE - mXX%*%solve(t(mXX)%*%mXX)%*%t(mXX)%*%mE
RSS1 = t(mK)%*%mK
dTR = sum(diag(solve(RSS0)%*%RSS1))
LM = iT*(ip-dTR)
pval = 1-pchisq(LM,df=iDF)
return( c(pval, LM, iDF) )
}

set.seed(1)

N <- 20
mX <- matrix(runif(N),ncol=1)
mY <- matrix(runif(N),ncol=1)
mZ <- matrix(runif(N),ncol=1)

LMTEST(mY,mX,mZ)   

the answer I got was:

[1] 0.004965514 7.891955826 1.000000000


So it must be your data.
Are you sure they are numeric? Have you checked  with str(mX) etc?

Berend

> Valentina 		 	   		  
> 	[[alternative HTML version deleted]]


Please don't post in html but in plain text.


> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list