[R-sig-Geo] Implementing a rolling window for stars object

Vijay Lulla v|j@y|u||@ @end|ng |rom gm@||@com
Wed Oct 23 20:25:51 CEST 2019


 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> 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>
> 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> 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>> 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>
> >>>> 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
> 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
ORCID: https://orcid.org/0000-0002-0823-2522
Webpage: http://vijaylulla.com

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list