【发布时间】:2017-09-19 14:42:51
【问题描述】:
所以我是 R 的新手,基本上我希望从一个数据帧中获取数据并将输出存储到一个新数据帧中进行大量回归,但同时也创建一个循环以自动“拾取”下一个输入”并跳过重复项。
我附上了一张我的数据的照片。
这是我运行回归的代码
#inputs
Airport = "ABZ"
#choose target airport & nation GDP
df <- subset(Elasticities_Study, Airport_Code==Airport)
#log-log
df <- data.frame(df$Year, df$Region,
df$Airport_Code, log(df$Passengers, 10), log(df$GDP, 10))
colnames(df) <- c("Year", "Region",
"Airport", "Passengers", "GDP")
#regression
fit <- lm(df$Passengers ~ df$GDP)
#store the coefficient
coefficient <-coefficients(fit)
elasticity <- coefficient["df$GDP"]
#store the p_value
p <- function (fit) {
if (class(fit) != "lm") stop("Not an object of class 'lm' ")
f <- summary(fit)$fstatistic
p <- pf(f[1],f[2],f[3],lower.tail=F)
attributes(p) <- NULL
return(p)
}
p_value <- p(fit)
#store the r_squared
r_squared <- summary(fit)$r.squared
#save regression output into data frame
Regression_Output <- data.frame(df[1,2], df[1,3],
elasticity, p_value, r_squared)
colnames(Regression_Output) <- c("Region", "Airport", "Elasticity", "P-
Value", "R_Squared")
有人可以帮忙吗!谢谢!
【问题讨论】: