我想回归矢量数据集中的每一列,然后返回具有最高R平方值的列.例如,我有一个矢量HAPPY < - (3,2,2,3,1,3,1,3),我有一个数据集.
HEALTH CONINC MARITAL SATJOB1 MARITAL2 HAPPY
3 441 5 1 2 3
1 1764 5 1 2 2
2 3087 5 1 2 2
3 3087 5 1 2 3
1 3969 2 1 5 1
1 3969 5 1 2 3
2 4852 5 1 2 2
3 5734 3 1 3 3
Run Code Online (Sandbox Code Playgroud)
在左侧数据集的每一列上回归"Happy",然后返回具有最高R平方的列.示例:lm(Health~Happy)如果Health具有最高的R平方值,则返回Health.
我试过申请,但似乎无法弄清楚如何以最高的R平方返回回归.有什么建议?
我正在进行固定效果回归并且遇到自相关问题,为了解决这个问题,我正在使用预测,lmtest和plm包进行ARIMA建模.我的数据是一般的面板数据,看起来像这样,我正在尝试做一些ARIMA建模,但我很难将自回归项和移动平均值结合到使用plm包的固定效果回归中.这是我的尝试.
world_hour_fix =
plm(WBGDPhour ~ broadband + resourcerents + education,
data = hourframe, model = "within")
auto.arima(world_hour_fix$residuals)
# Series: world_hour_fix$residuals
# ARIMA(1,0,1) with zero mean
#
# Coefficients:
# ar1 ma1
# 0.403 0.3135
# s.e. 0.138 0.1586
#
# sigma^2 estimated as 0.4901: log likelihood=-175.54
# AIC=357.09 AICc=357.23 BIC=366.4
auto.arima(world_fix$residuals)
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何将一个自回归项和一个移动平均值合并到我的回归中?
我有一个返回数字类对象的函数,这是一个简化版本:
count.matches <- function(x) {
ifelse(!is.na(a[,x] & a[,2]),1,0)
}
Run Code Online (Sandbox Code Playgroud)
它只产生一个 0 和 1 的对象。例如
count.matches(4)
[1] 0 0 0 0 1 1 0
Run Code Online (Sandbox Code Playgroud)
我只想对这个函数做一个简单的 for 循环并将结果存储在一个数据框中,即每次函数循环创建一个列,但是我遇到了麻烦。
p <- data.frame()
my.matches <- for(i in 2:100) {
p[i,] <- count.matches(i)
}
Run Code Online (Sandbox Code Playgroud)
这不会产生任何结果。对不起,如果这是一个非常愚蠢的问题,但我已经尝试了很多东西,但似乎没有任何效果。如果您需要更多信息,请告诉我,我会提供。