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

Micha Silver t@v|b@r @end|ng |rom gm@||@com
Sat Oct 26 10:43:17 CEST 2019


On 25/10/2019 15:55, Edzer Pebesma wrote:
> Thanks for reporting Micha, and creating a reprex on github Andy; the
> problem seems to be fixed, now.


Great, thanks for the quick response.

I guess reinstalling stars from CRAN should get the fix?


> Best regards,
>
> On 10/23/19 2:22 PM, Andy Teucher 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
>>
>
> _______________________________________________
> R-sig-Geo mailing list
> 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



More information about the R-sig-Geo mailing list