Цикл заполняет только один вектор из тех, что я включил в - PullRequest
1 голос
/ 04 мая 2019

Я включаю некоторый контекст.Моя проблема заключается в.Когда я запускаю его, заполняется только вектор intL, но этого не происходит с intU.С другой стороны, если я запускаю отдельный for, один для intL и один для intU, я заполняю оба вектора.Мой вопрос, однако, почему, когда я делаю для заполнения обоих векторов, заполняется только вектор 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 Ответ

1 голос
/ 04 мая 2019

Проблема в том, что <

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), чем вычисленное значение, тогда как <- является оператором присваивания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...