【问题标题】:Error object of type 'closure' is not subsettable [duplicate]“闭包”类型的错误对象不是子集[重复]
【发布时间】:2014-09-13 09:31:24
【问题描述】:

我的程序 R 有问题。 我已经编写了这段代码,当我想继续它时,我收到错误消息:

daten.asset[[s]] 中的错误:“闭包”类型的对象不是子集。

我对编程一窍不通,有时会很努力。 有谁能够帮助我?

感谢您的尝试。

我的代码:

r.M.ZR <- arima.sim(model=list(ar=0.6), n = 1100) ;
r.M <-as.vector(r.M.ZR,mode="numeric" );
tilde.r.M <- r.M - mean(r.M)
M <- matrix(c(tilde.r.M, tilde.r.M),2,1100)

A=matrix(c(0.5,0,0,0.5),2,2)

X <- c(0,rnorm(1400, 0, 0.5))           
Y <- c(0,rnorm(1400, 0, 0.5))

Zeta=matrix(0,2,1401)     
Zeta[1,]=X
Zeta[2,]=Y                         

epsilon=matrix(0,2,1401)
epsilon[,1]=0                    

for (i in 2:1401){
  epsilon[,i]=A%*%epsilon[,i-1] + Zeta[,i]
}

epsilon=epsilon[,302:1401]          
alpha <- vector(mode="numeric", length= 1100)
beta <- rep(1, 1100)


daten.asset<-function(){
  da<-vector(mode="list",length=s);
  for (s in 1:2500) {  
  r.i1.ZR <- alpha + beta %*% r.iM[,1] + epsilon;
  r.i1 <-as.vector(r.i1.ZR,mode="numeric" );
  r.i2.ZR<- alpha + beta %*% r.iM[,2] + epsilon;
  r.i2 <-as.vector(r.i2.ZR,mode="numeric" );
  A[s] <- matrix(c(r.i1, r.i2),2,1100)
  print(i)
  }; #for
return(da)
}

for(s in 1:2500){
mu.1 <- hubers(daten.asset[[s]][1,1:100], k=1.5, s=1)$mu
mu.2 <- hubers(daten.asset[[s]][2,1:100], k=1.5, s=1)$mu

epsilon.dach.1 <- daten.asset[[s]][1,1:100] - mu.1
epsilon.dach.2 <- daten.asset[[s]][2,1:100] - mu.2

epsilon.dach <- matrix(c(epsilon.dach.1,epsilon.dach.2),2,100)}

huber.psi <- function(x, k=1.345) ifelse(abs(x) < k, 2*x, 2*k*sign(x))
psi.epsilon1 <- huber.psi(epsilon1)
psi.epsilon2 <- huber.psi(epsilon2)


psi.epsilon <- matrix(c(psi.epsilon1,psi.epsilon2),2,100)

【问题讨论】:

  • 为了复制错误,OP 也应该给出hubers 函数。

标签: r closures runtime-error


【解决方案1】:

错误:

Error in daten.asset[[s]] : object of type 'closure' is not subsettable.

表示您将 daten.asset 函数 (closure) 作为 data.frame 或矩阵 (subsettable) 调用。改变

daten.asset[[s]]

daten.asset()[[s]] 

应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2018-02-08
    • 2019-08-09
    相关资源
    最近更新 更多