【发布时间】:2015-10-29 05:20:15
【问题描述】:
我有一个名为 reg 的回归函数。我现在需要运行它 1000 次,在直方图中捕获 Rsquare 值和 t-stat。
我尝试按如下方式运行复制(取 n=5,查看结果):
replicate(5,{
seriese=matrix( rnorm(100*1,mean=0,sd=1), 100, 1)
e <- matrix(ncol = 1, nrow = 100)
for(i in 1:100){
e[i] <- sum(seriese[1:i,1])
}
dataY <- cbind(seriese, e)
seriesa=matrix( rnorm(100*1,mean=0,sd=1), 100, 1)
x <- matrix(ncol = 1, nrow = 100)
for(i in 1:100){
x[i] <- sum(seriesa[1:i,1])
}
dataX <- cbind(seriesa, x)
#convert to ts
dataYTS=ts(dataY[,2])
dataXTS=ts(dataX[,2])
#run regression
#check summary regression
reg=lm(dataYTS~dataXTS)
},simplify=FALSE)
这报告数据的类型,而不是值。
replicate(5,{reg=lm(dataYTS~dataXTS)})
[,1] [,2] [,3] [,4] [,5]
coefficients Numeric,2 Numeric,2 Numeric,2 Numeric,2 Numeric,2
residuals Numeric,100 Numeric,100 Numeric,100 Numeric,100 Numeric,100
effects Numeric,100 Numeric,100 Numeric,100 Numeric,100 Numeric,100
rank 2 2 2 2 2
fitted.values Numeric,100 Numeric,100 Numeric,100 Numeric,100 Numeric,100
assign Integer,2 Integer,2 Integer,2 Integer,2 Integer,2
qr List,5 List,5 List,5 List,5 List,5
df.residual 98 98 98 98 98
xlevels List,0 List,0 List,0 List,0 List,0
call Expression Expression Expression Expression Expression
terms Expression Expression Expression Expression Expression
model List,2 List,2 List,2 List,2 List,2
【问题讨论】:
-
运行 1000 次 same 回归的意义何在?您将获得相同结果的 1000 倍。
-
尝试
replicate(5,{reg=lm(dataYTS~dataXTS)}, simplify=FALSE)假设您是sampling数据集。 -
同意@Pascal,需要运行一个完整的进程。复制1000次后如何记录回归函数提供的Rsqaure。
-
@akrun,你的建议给了我和以前一样的输出
-
正如我之前所说,您可能需要一些采样。我的代码是以
list而不是您显示的格式获取结果。没有任何可重现的例子,很难理解发生了什么。