[R] R beginner - Error in as.vector(x, mode)

Arne Henningsen arne.henningsen at googlemail.com
Thu Mar 10 10:38:59 CET 2011


Hi Alex!

On 10 March 2011 09:46, Alex Olssen <alex.olssen at gmail.com> wrote:
> Hi everyone,
>
> I am new to R and keep getting the message
> Error in as.vector(x, mode)
> while trying to run nlsystemfit.
>
> Below is my exact code.  The data is in Stata format because I only
> recently swapped to R and am trying to compare results from Stata to
> make sure I know what is going on.
> I have searched google and read sever R-help articles with this error.
>  They all say the problem is to do with attach().  I haven't used
> attach() as far as I can tell.  However it does seem to be a problem
> with reading the data.  I sometimes get a problem with "masking".
> Finally, when I ran the example in the systemfit documentation for
> nlsystemfit everything went fine.  The major structural difference I
> can see between the codes is they use data() where as I do not.
>
> Any advice would be truly appreciated.
>
> library(systemfit)
> library(foreign)
> auto74 <- read.dta("auto74.dta")

Please provide a *reproducible* example. We cannot reproduce your
example, because we do not have the file "auto74.dta".

> eqWeight <- weight ~ a0 + a1*mpg + a2*price + a3*trunk
> eqLength <- length ~ b0 + b1*mpg + b2*price + b3*trunk
> model <- list(eqWeight, eqLength)
> start.values <- c(a0=0, a1=0, a2=0, a3=0, b0=0, b1=0, b2=0, b3=0)
> nlsystemfit("OLS", model, start.values, data = auto)
>
> Error in as.vector(x, mode) :
>  cannot coerce type 'builtin' to vector of type 'any'

I guess that the starting values cause this error. The documentation
says: "startvals: a list of starting values for the coefficients."
Note, it should be a *list*.

Please note that the nlsystemfit() function (in contrast to the
systemfit() function) is still under development and has convergence
problems rather often.

Best regards,
Arne

-- 
Arne Henningsen
http://www.arne-henningsen.name



More information about the R-help mailing list