У меня есть функция регрессии, называемая 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
replicate(5,{reg=lm(dataYTS~dataXTS)}, simplify=FALSE)
предположить, что вы являетесьsampling
набором данных. - person akrun   schedule 29.10.2015list
, а не в формате, который вы показали. Без какого-либо воспроизводимого примера трудно понять, что происходит. - person akrun   schedule 29.10.2015cumsum
даст вам там. В любом случае ваш код возвращает объекты модели. Перебирайте их, чтобы вычислить R-квадрат и t-таблицу, или вычислите и верните их в свой циклreplicate
. - person Roland   schedule 29.10.2015