<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Hello Roger,</div>

<div> </div>

<div>thank you for your answer.</div>

<div> </div>

<div>I tried:</div>

<div>> gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,<br/>
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE,<br/>
+ fit.points=Daten10, predictions=TRUE, fittedGWRobject=gwrG)</div>

<div> </div>

<div>Now the prediction works, but when I give out the result, I get this error:</div>

<div><!--StartFragment-->
<pre class="GGHFMYIBMOB" id="rstudio_console_output" style="font-family: 'Lucida Console'; font-size: 10pt !important; outline: none; border: none; word-break: break-all; margin: 0px; -webkit-user-select: text; white-space: pre-wrap !important; line-height: 15px; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: -webkit-left; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" tabindex="0"><span class="GGHFMYIBGOB  ace_constant" style="color: rgb(197, 6, 11);">Error in sqrt(x$results$sigma2.b) :
  non-numeric argument to mathematical function</span></pre>
<!--EndFragment--></div>

<div>
<div>How can I solve this problem?</div>

<div> </div>

<div>Thank you,</div>

<div>Christoph</div>

<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div name="quoted-content"><br/>
<br/>
> Thank you for your answer.<br/>
>  I tried to do the transformations before the calculation, but the<br/>
> Problem is still the same. I think the problem lies in the factor. But<br/>
> in my model I need the factor, because there is no linear influence of<br/>
> the year.<br/>
>  <br/>
> Is there any solution for this Problem?<br/>
>  <a href="https://www.dropbox.com/s/fbhwsy3sd333ung/Example.zip?dl=0" target="_blank">https://www.dropbox.com/s/fbhwsy3sd333ung/Example.zip?dl=0</a> The zip-file<br/>
> in the link contains a picture of str(Daten90) and str(Daten10) and also<br/>
> my data and R-skript. Var4 is log(Var2).<br/>
>  <br/>
<br/>
I see:<br/>
<br/>
> gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,<br/>
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE,<br/>
+ fit.points=Daten10, predictions=TRUE)<br/>
Warning message:<br/>
In gwr(formula = Ziel ~ Var1 + Var3 + Var4, data = Daten90, bandwidth =<br/>
bwG, :<br/>
standard errors set to NA, normalised RSS not available<br/>
<br/>
but using your gwrG object and:<br/>
<br/>
> gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,<br/>
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE,<br/>
+ fit.points=Daten10, predictions=TRUE, fittedGWRobject=gwrG)<br/>
<br/>
I think the model matrix handling of the factor is OK. The problem in the<br/>
GWmodel::gwr.predict() approach is that the full model matrix approach is<br/>
used on the formula and data arguments, but not on predictdata, which is<br/>
coerced to data frame but never regularised by going through model.matrix,<br/>
hence the error message:<br/>
<br/>
Browse[2]><br/>
debug: if (any((inde_vars %in% names(predictdata)) == F)) stop("All the<br/>
independent variables should be included in the predictdata")<br/>
Browse[2]> inde_vars<br/>
[1] "Var12006" "Var12007" "Var12008" "Var12009" "Var3" "Var4"<br/>
Browse[2]> names(predictdata)<br/>
[1] "OBJECTID" "Rechtswert" "Hochwert" "Var1" "Var2"<br/>
[6] "Var3" "Ziel" "Var4" "coords.x1" "coords.x2"<br/>
<br/>
Had the proper approach been used, the names would have been the same.<br/>
<br/>
The relevant part of spgwr::gwr() in R/gwr.R is:<br/>
<br/>
if (predictions) {<br/>
t1 <- try(slot(fit.points, "data"), silent=TRUE)<br/>
if (class(t1) == "try-error")<br/>
stop("No data slot in fit.points")<br/>
predx <- try(model.matrix(delete.response(mt), fit.points))<br/>
if (class(predx) == "try-error")<br/>
stop("missing RHS variable in fit.points")<br/>
if (ncol(predx) != ncol(x))<br/>
stop("new data matrix columns mismatch")<br/>
}<br/>
<br/>
(lines 71-80)<br/>
<br/>
which uses model.matrix() and uses try() to catch mis-matches.<br/>
<br/>
Hope this helps,<br/>
<br/>
Roger<br/>
<br/>
> Christoph<br/>
>  <br/>
>  <br/>
>  <br/>
>  <br/>
> The first step should be to look at<br/>
><br/>
> str(Daten90)<br/>
> str(Daten10)<br/>
><br/>
> and if that doesn't solve the problem, then consider a reproducible<br/>
> example, or at the very least posting the results of the above to this<br/>
> list.<br/>
><br/>
> Sarah<br/>
><br/>
> On Fri, Feb 22, 2019 at 7:38 AM <f-c-b@web.de> wrote:<br/>
> ><br/>
> > Dear all,<br/>
> ><br/>
> > I am currently working out a geographically weighted regression, in which<br/>
> 90% of the data set the model should be calculated and for 10% of the values<br/>
> to be predicted. For the prediction I use the function gwr.predict from the<br/>
> package GWModel:<br/>
> ><br/>
> > Erg<-gwr.predict(formula=Ziel~ as.factor(Var1) + log(Var2, base = exp(1))<br/>
> + Var3, data = Daten90,predictdata = Daten10,bw = bwG, kernel =<br/>
> "gaussian",adaptive = FALSE, p = 2, theta = 0, longlat = FALSE)<br/>
> ><br/>
> > I always get this error, although Daten10 and Daten90 have the same<br/>
> structure:<br/>
> > Error in gwr.predict(formula = Ziel~ as.factor(Var1) + log(Var2, base =<br/>
> exp(1)) + Var3, :<br/>
> > All the independent variables should be included in the predictdata.<br/>
> ><br/>
> > Can you tell me what the problem with this code is?<br/>
> > Or is there any other way for a GWR and the prediction?<br/>
> ><br/>
> > Thank you,<br/>
> > Christoph<br/>
> > _______________________________________________<br/>
> > R-sig-Geo mailing list<br/>
> > R-sig-Geo@r-project.org<br/>
> > <a href="https://stat.ethz.ch/mailman/listinfo/r-sig-geo" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-sig-geo</a><br/>
><br/>
><br/>
><br/>
> --<br/>
> Sarah Goslee (she/her)<br/>
> <a href="http://www.numberwright.com" target="_blank">http://www.numberwright.com</a><br/>
><br/>
><br/>
<br/>
--<br/>
Roger Bivand<br/>
Department of Economics, Norwegian School of Economics,<br/>
Helleveien 30, N-5045 Bergen, Norway.<br/>
voice: +47 55 95 93 55; e-mail: Roger.Bivand@nhh.no<br/>
<a href="https://orcid.org/0000-0003-2392-6140" target="_blank">https://orcid.org/0000-0003-2392-6140</a><br/>
<a href="https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en" target="_blank">https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en</a></div>
</div>
</div>
</div></div></body></html>