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

PIKAL Petr petr.pikal at precheza.cz
Mon Oct 21 09:52:18 CEST 2013


Hi

>From your first post if any of variables is not numeric this command

mY<-cbind(G, T, Y, news)

makes mY also nonumeric.

so look at structure of 

"D" data.frame which results from reading your csv file by

str(D)

Regards
Petr


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Berend Hasselman
> Sent: Sunday, October 20, 2013 4:31 PM
> To: valentina colombo
> Cc: r-help at r-project.org help
> Subject: Re: [R] Errore : requires numeric/complex matrix/vector
> arguments
> 
> 
> On 20-10-2013, at 16:16, valentina colombo <valentina81c at hotmail.it>
> wrote:
> 
> > Dear Mr. Hasselman,
> > I have attached my code to solve (hopefully) my problem in
> > Error-require numeric/complex matrix/vector Any suggestions?
> > Thanks
> >
> Please answer to the list and NOT only privately. I'm forwarding this
> message to R-help.
> 
> You are not showing how you constructed mX and others.
> In the attachment you show how you read X.
> 
> I do not get your error when I generate your matrices with these
> commands:
> 
> set.seed(1)
> 
> N <- 126
> mX <- matrix(runif(N*4),ncol=4)
> mY <- matrix(runif(N*4),ncol=4)
> mZ <- matrix(runif(N*4),ncol=4)
> 
> If you want to include data in a text-only mail use dput.
> 
> Berend
> 
> >
> >
> > > Subject: Re: [R] Errore : requires numeric/complex matrix/vector
> > > arguments
> > > From: bhh at xs4all.nl
> > > Date: Sun, 20 Oct 2013 13:29:37 +0200
> > > CC: r-help at r-project.org
> > > To: valentina81c at hotmail.it
> > >
> > >
> > > 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.
> > >
> > <R error.txt>
> 
> ______________________________________________
> 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