[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