# [R] Predict

Bert Gunter bgunter.4567 at gmail.com
Fri Jun 30 17:33:41 CEST 2017

```Seems like you need to start by learning R. Lots of good online
tutorials exist -- have you spent time with any? And possibly also
spend some time with a basic statistics text or a statistical expert
to clarify your goals and methodology.

Cheers,
Bert

Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )

On Fri, Jun 30, 2017 at 8:23 AM, Ahmed Attia <ahmedatia80 at gmail.com> wrote:
> Sorry for the confusion, here is the edited question.
>
> The data= Stand_Height (attached) is recorded from 12/1/2009 to
> 12/31/2015 (25 observations) and the other dataset (leafbiom) is
> recorded from 10/7/2009 to 12/29/2016 (daily observations).
>
> I want to use the 25 observations of stand height to predict the daily
> stand height from 10/7/2009 to 12/29/2016. The daily stand height will
> be multiplied by leaf biomass to produce a new variable.
>
> I agree that a loop is not needed, would the forecast library help or
> should I use predict library.
>
> Stand_Height=ts(Stand_Height\$height,start=2009,end = 2016,
>                 frequency =365)
>
> plot(forecast(ets(Stand_Height),10))
> a=seq(as.Date("2009-12-01"),by="weeks",length=11)
> axis(1, at = a, labels = format(a, "%Y %b %d"), cex.axis=0.6)
>
>
> #Error :\$ operator is invalid for atomic vectors
>
> Thanks
>
>
> Ahmed Attia, Ph.D.
> Agronomist & Soil Scientist
>
>
>
>
>
>
> On Fri, Jun 30, 2017 at 10:37 AM, Sarah Goslee <sarah.goslee at gmail.com> wrote:
>> There are a bunch of things wrong here, although without a
>> reproducible example I can't really fix most of them.
>>
>> - You're overwriting SH within the loop.
>> - You're running the regression 2641 times, even though the result
>> never changes.
>> - You're never predicting from your linear model using the other data
>> not in the regression.
>> - Leaf biomass data is never used for anything. I would have thought
>> that you would use leaf biomass as the predictor variable, not Date.
>> - I'm not sure why you want the cumulative sum of stand height; that
>> doesn't make sense to me.
>>
>> I'm guessing you want:
>>
>> height.model <- lm(height ~ leafbiomass, data = Stand_Height)
>> pred.height <- predict(height.model, leafbiom)
>>
>> # not sure about the reasoning behind this
>> SH <- cumsum(pred.height)
>>
>> You don't need a loop. Overwriting SH is the biggest R problem; the
>> rest of my questions have to do with what your objective actually is,
>> like what you are modeling and what you are doing with the
>> predictions. But my sample code might be enough to get you headed in
>> the right direction regardless.
>>
>> Sarah
>>
>> On Fri, Jun 30, 2017 at 9:27 AM, Ahmed Attia <ahmedatia80 at gmail.com> wrote:
>>> Hi folks,
>>>
>>> I have 25 stand height observations over 7 years period and daily
>>> leafbiomass data during this period. I want to use the 25 plant height
>>> observations as inputs and predict the daily stand height during the 7
>>> years.
>>>
>>>
>>> SH=matrix(data=NA , nrow = 2641, ncol = 1)
>>> for (i in 1:2641) {
>>>   SH<- predict(lm(height~Date, data=Stand_Height));
>>>
>>>   dl=leafbiom\$Date[i-1];
>>>   de=leafbiom\$Date[i];
>>> SH[i]=sum(SH[leafbiom\$Date==de&leafbiom\$Date==dl])
>>>
>>>
>>> }
>>> SH
>>>
>>>
>>> The SH output is the prediction of Stand height in 25 observations
>>> only and provides NA for the remaining 2616 iterations.
>>>
>>>
>>>
>>>
>>> Ahmed Attia, Ph.D.
>>> Agronomist & Soil Scientist
>>>
>> --
>> Sarah Goslee
>> http://www.functionaldiversity.org
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help