[R-sig-Geo] Implementing a rolling window for stars object
Micha Silver
t@v|b@r @end|ng |rom gm@||@com
Wed Oct 23 21:12:14 CEST 2019
Thanks to both of you for identifying the problem so quickly, and
offering a workaround!
On 23/10/2019 21:25, Vijay Lulla wrote:
> Andy, you're spot on! This is because stars:::`[.stars` is only
> looking for variables and not expressions (line 44 in the function!).
> Your example gets around it by creating an object in the environment
> (parent.frame) which is then consulted in the `eval`. Sorry for tmi!
> HTH,
> Vijay.
>
> On Wed, Oct 23, 2019 at 2:22 PM Andy Teucher <andy.teucher using gmail.com
> <mailto:andy.teucher using gmail.com>> wrote:
>
> I’m fairly certain this is a bug in stars; I opened an issue here:
> https://github.com/r-spatial/stars/issues/223
> <https://github.com/r-spatial/stars/issues/223>
>
> Cheers,
> Andy Teucher
>
> > On Oct 23, 2019, at 10:42 AM, Andy Teucher
> <andy.teucher using gmail.com <mailto:andy.teucher using gmail.com>> wrote:
> >
> > Interesting - there’s some rlang/tidy evaluation trickery going
> on there that I couldn’t quite figure out (I think it might be
> searching for yr in the wrong environment), but defining your
> range as a single variable, and putting that in the square
> brackets seems to work for me:
> >
> > rng <- yr:last_yr
> > stars_window = ci_stars[,,,rng]
> >
> >
> >> On Oct 23, 2019, at 10:20 AM, Micha Silver <tsvibar using gmail.com
> <mailto:tsvibar using gmail.com>> wrote:
> >>
> >>
> >> On 23/10/2019 19:30, Andy Teucher wrote:
> >>> Hi Micha,
> >>>
> >>> I can see two problems immediately with your code:
> >>> 1. you are using a double-colon (yr::last_yr) - the double
> colon is used for looking for an object in a package, so it is
> looking for object ‘yrs’ in package ‘yr’, which obviously doesn’t
> make sense. Use a single colon to create a range (like you did
> with 2:6)
> >>> 2. the object ‘last_yr’ is never defined, so even if you used
> a single colon to define the range yr:last_yr, it would fail as it
> would not be able to find object ‘last_yr’
> >>>
> >>
> >> Thanks,
> >>
> >> I fixed those typos (corrected script attached) and I still get
> this error:
> >>
> >>
> >> micha using tp480:R$ Rscript stars_window.R
> >> Loading required package: abind
> >> Loading required package: sf
> >> Linking to GEOS 3.7.1, GDAL 2.4.0, PROJ 5.2.0
> >> Error in eval(rlang::expr(x[[i]][!!!args])) : object 'yr' not found
> >> Calls: RunMK -> [ -> [.stars -> structure -> eval -> eval
> >> Execution halted
> >>
> >>
> >>
> >>> Cheers,
> >>> Andy Teucher
> >>>
> >>>> On Oct 23, 2019, at 8:28 AM, Micha Silver <tsvibar using gmail.com
> <mailto:tsvibar using gmail.com> <mailto:tsvibar using gmail.com
> <mailto:tsvibar using gmail.com>>> wrote:
> >>>>
> >>>> I am trying to run a function (mk.test to find MannKendall
> trends) using st_apply over a "rolling" window for a time series
> of rasters in a stars object.
> >>>> When I use subscript notation to slice out the window
> dimension with a looping variable I get an error:
> >>>>
> >>>> Error in loadNamespace(name) : there is no package called ‘yr’
> >>>> Calls: [ ... tryCatch -> tryCatchList -> tryCatchOne ->
> <Anonymous>
> >>>> Execution halted
> >>>>
> >>>> However If I replace the subscript with integers it works
> fine. (see attached)
> >>>> What is the correct way to work this out?
> >>>>
> >>>> Attached is a reprex with a small subset of my data. (The
> script starts with a long structure, code is at the end)
> >>>>
> >>>> Thanks
> >>>> --
> >>>> Micha Silver
> >>>> Ben Gurion Univ.
> >>>> Sde Boker, Remote Sensing Lab
> >>>> cell: +972-523-665918
> >>>> <stars_window.R>_______________________________________________
> >>>> R-sig-Geo mailing list
> >>>> R-sig-Geo using r-project.org <mailto:R-sig-Geo using r-project.org>
> <mailto:R-sig-Geo using r-project.org <mailto:R-sig-Geo using r-project.org>>
> >>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>>
> >> --
> >> Micha Silver
> >> Ben Gurion Univ.
> >> Sde Boker, Remote Sensing Lab
> >> cell: +972-523-665918
> >>
> >> <stars_window.R>
> >
>
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo using r-project.org <mailto:R-sig-Geo using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
>
> --
> Vijay Lulla
>
> Assistant Professor,
> Dept. of Geography, IUPUI
> 425 University Blvd, CA-207C.
> Indianapolis, IN-46202
> vlulla using iupui.edu <mailto:vlulla using iupui.edu>
> ORCID: https://orcid.org/0000-0002-0823-2522
> Webpage: http://vijaylulla.com
--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
More information about the R-sig-Geo
mailing list