Line graph with over 70 lines plotted against time
Dear all, I'm currently working on a dataset with 72 areas, recorded in quarterly dates (2000-2016). I want to visualise some variables using line graphs in R but have not found suitable tools in weeks now, as many examples are for creating a couple lines only. When I use ggplot with date (factor), it jumbles the dates making the lines uninterpretable. when I convert the date to "date", it breaks at Year points and doesn't give continuous lines. Kindly help. Thanks Jailos
On 25/02/2019 08:50, Roger Bivand wrote:
On Sun, 24 Feb 2019, f-c-b at web.de wrote:
Hello Roger, thank you for your answer. I tried:
gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE, + fit.points=Daten10, predictions=TRUE, fittedGWRobject=gwrG) Now the prediction works, but when I give out the result, I get this error: Error in sqrt(x$results$sigma2.b) : ? non-numeric argument to mathematical function How can I solve this problem?
I am not looking over your shoulder. Always provide the code verbatim, if I guess which mess you are in, I may get the wrong mess. Generally, I advise against GWR in all settings, it should only ever be used for exploring data for non-stationarity. Roger
Thank you, Christoph
Thank you for your answer. ?I tried to do the transformations before the calculation, but the Problem is still the same. I think the problem lies in the factor. But in my model I need the factor, because there is no linear influence of the year. Is there any solution for this Problem? ?https://www.dropbox.com/s/fbhwsy3sd333ung/Example.zip?dl=0 The
zip-file
in the link contains a picture of str(Daten90) and str(Daten10) and
also
my data and R-skript. Var4 is log(Var2).
I see:
gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE, + fit.points=Daten10, predictions=TRUE) Warning message: In gwr(formula = Ziel ~ Var1 + Var3 + Var4, data = Daten90, bandwidth = bwG, : standard errors set to NA, normalised RSS not available but using your gwrG object and:
gwrGp <- gwr(formula=Ziel~ Var1 + Var3 + Var4, data = Daten90,
+ bandwidth = bwG, gweight = gwr.Gauss,hatmatrix = TRUE,
+ fit.points=Daten10, predictions=TRUE, fittedGWRobject=gwrG)
I think the model matrix handling of the factor is OK. The problem in
the
GWmodel::gwr.predict() approach is that the full model matrix
approach is
used on the formula and data arguments, but not on predictdata, which is
coerced to data frame but never regularised by going through
model.matrix,
hence the error message:
Browse[2]>
debug: if (any((inde_vars %in% names(predictdata)) == F)) stop("All the
independent variables should be included in the predictdata")
Browse[2]> inde_vars
[1] "Var12006" "Var12007" "Var12008" "Var12009" "Var3" "Var4"
Browse[2]> names(predictdata)
[1] "OBJECTID" "Rechtswert" "Hochwert" "Var1" "Var2"
[6] "Var3" "Ziel" "Var4" "coords.x1" "coords.x2"
Had the proper approach been used, the names would have been the same.
The relevant part of spgwr::gwr() in R/gwr.R is:
if (predictions) {
t1 <- try(slot(fit.points, "data"), silent=TRUE)
if (class(t1) == "try-error")
stop("No data slot in fit.points")
predx <- try(model.matrix(delete.response(mt), fit.points))
if (class(predx) == "try-error")
stop("missing RHS variable in fit.points")
if (ncol(predx) != ncol(x))
stop("new data matrix columns mismatch")
}
(lines 71-80)
which uses model.matrix() and uses try() to catch mis-matches.
Hope this helps,
Roger
Christoph The first step should be to look at str(Daten90) str(Daten10) and if that doesn't solve the problem, then consider a reproducible example, or at the very least posting the results of the above to this list. Sarah On Fri, Feb 22, 2019 at 7:38 AM <f-c-b at web.de> wrote:
Dear all, I am currently working out a geographically weighted regression, in
which
90% of the data set the model should be calculated and for 10% of the
values
to be predicted. For the prediction I use the function gwr.predict
from the
package GWModel:
Erg<-gwr.predict(formula=Ziel~ as.factor(Var1) + log(Var2, base =
exp(1))
+ Var3, data = Daten90,predictdata = Daten10,bw = bwG, kernel = "gaussian",adaptive = FALSE, p = 2, theta = 0, longlat = FALSE)
I always get this error, although Daten10 and Daten90 have the same
structure:
Error in gwr.predict(formula = Ziel~ as.factor(Var1) + log(Var2,
base =
exp(1)) + Var3, :
All the independent variables should be included in the predictdata. Can you tell me what the problem with this code is? Or is there any other way for a GWR and the prediction? Thank you, Christoph
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo
-- Sarah Goslee (she/her) http://www.numberwright.com
-- Roger Bivand Department of Economics, Norwegian School of Economics, Helleveien 30, N-5045 Bergen, Norway. voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no https://orcid.org/0000-0003-2392-6140 https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo