```Can you include the exact errors that you get, and maybe a sample version of your data?

-----Original Message-----
Sent: Wednesday, May 16, 2018 02:39 PM
Subject: Help with code: lm in a loop

Hello all,

I usually attend the Wednesdays meetings of this group, so in its absence, I will try this listserv. Sorry to populate your emails.

I have the following code that runs, in a for loop, a series of linear regressions of NDVI by time (29 years). I run a total of 48 regressions (each month * 4 locations). Inside the loop, I save some information I need from each regression (i.e. slope, R2, p-value). Then I save that information in a data frame outside the loop. So far, so good. This works quite well.

I am trying now to get the fitted values of each point, that is 1392 values (48 regressions, each based on 29 years of data). Here is the code:

NOTE: sub is a list of size 48, Reg_summaries a dataframe defined outside the loop

for(s in sub){

# Print which row is being calculated

print(s)

# Subset using indexing vector

tmp <- tmp_dt %>%

# Run linear model on tmp (this exists only inside the loop)

m <- lm(meanNDVI ~ Year, data = tmp)

# Create dataframe for single loop iteration and saves in the dataframe the data

Intercept = as.numeric(coef(m)[1]),

Slope = as.numeric(coef(m)[2]),

R2= as.numeric(summary(m)\$r.squared),

p= as.numeric(summary(m)\$coefficient[8]))

e <- fitted(m)

# Bind temporal dataframe to stored dataframe outside the loop

Reg_summaries <- rbind(Reg_summaries, d)

# Data frame to store fitted values

test <- rbind(e)

}

I tried to incorporate inside the loop something similar to what I have to get information from the regressions to retrieve the 1392 fitted values. I created "vector e" inside the loop, and various variations of it, nothing seems to work. I created a dataframe of 1392 values outside the loop and called it inside, got an error complaining about column sizes, created a list inside and outside, nothing. With "e" as it is, I get 29 values that get stored in "test", which makes me thing I am getting the 29 fitted values of the first regression, but I don't know how to retrieve them all. Maybe I have to do a loop inside the already existing loop, no clue. Any help will be appreciated.

Xavier

Xavier Haro-Carrión
Ph.D. student
School of Natural Resources and Environment & Department of Geography Land Use & Environmental Change Institute (LUECI) University of Florida Biodiversity Institute (UFBI) University of Florida TUR 3141, Gainesville FL 32611