循环仅填充我包含在for中的向量中的一个

时间:2019-05-04 19:26:48

标签: r loops vector

我包括一些上下文。我的问题是在。当我运行它时,只会填充向量intL,而intU不会发生这种情况。另一方面,如果我为intL和intU分别运行一个,则两个向量都被填满。我的问题是,为什么当我执行for来填充两个向量时,仅填充了intL向量,而没有填充另一个向量?

X<-replicate(1000,rnorm(n=10,mean=-1.2, sd=0.04))

Xbar<-c()

for(i in 1:1000){
  sumX<-(1/10)*sum(X[,i])
  Xbar[i]<-sumX
}

Xbar

intL<-c()
intU<-c()

for(i in 1:1000){
 intL[i]<-Xbar[i]-1.645*(.04/sqrt(10)) 
 intU[i]<Xbar[i]+1.645*(.04/sqrt(10))
}

1 个答案:

答案 0 :(得分:1)

问题是map

<

应为intU[i]<Xbar[i]+1.645*(.04/sqrt(10))

<-

以更正的版本再次运行代码

intU[i]<- Xbar[i]+1.645*(.04/sqrt(10))

intL<-c() intU<-c() for(i in 1:1000){ intL[i] <- Xbar[i]-1.645*(.04/sqrt(10)) intU[i] <- Xbar[i]+1.645*(.04/sqrt(10)) } length(intU) #[1] 1000 length(intL) #[1] 1000 是比较运算符,它仅检查'intU [i]'(初始化为<)是否小于计算值,而NULL是赋值运算符