Click here to Skip to main content
15,887,821 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am trying to calculate a regression variable based on a range of variables in my data set. I would like the regression variable (ei: Threshold 1) to be calculated using a different variable set in each iteration of running the regression.

Data (df)is composed of variables: Yield, Prec, Price, 0C, 1C, 2C, 3C, 4C, 5C, 6C, 7C, 8C, 9C, 10C

Regression:

reg <- lm(log(Yield)~Threshold1+Threshold2+log(Price)+prec+I(prec^2),data=df)
for EACH iteration of the Regression, I vary the components of calculating thresholds in the following manner:

Threshold example:

a <- df$0C
b <- df$1C

Threshold1 <- (a-b)

Threshold2 <- (b)
Where "b" would be changing in each loop, ranging from 1C to 9C.

Each individual threshold set (1 and 2) should be used to run a regression, and save the SSR for comparison with the subsequent regression utilizing thresholds based on a new "b" value (ranging from 1C TO 9C)

Current approach is centered around the following code:

df <- read.csv("Data.csv",header=TRUE)

names(df)
0C-9Cvarlist <- names(df)[9:19]
ssr.vec <- matrix(,21,1)

for(i in 1:length(varlist)){

a <- df$0C
b <- df$[i]

Threshold1 <- (a-b)

Threshold2 <- (b)

reg <- lm(log(Yield)~Threshold1+Threshold2+log(Price)+prec+I(prec^2),data=df)

r2 <- summary(reg)$r.squared

ssr.vec[i,] <- c(varlist,r2)
}

colnames(ssr.vec) <- c("varlist","r2")
Clearly the code above is not performing the task I am trying to achieve.

Any assistance in being pointed in the right direction would be extremely helpful. Thank you.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900