ns<-c(1,5,20,50,100,1000,10000)
Final<-rep(0,7)
second<-rep(0,10000)
for(i in length(ns)) {
second<-sample(1:1000,ns[i],replace=TRUE)
second[second==0]<-NA
Final[i]<- sd(second,na.rm=FALSE)
}
ns
- это разные длины выборки, которые я хочу взять. Я создал пустые векторы Final
и second
для хранения значений для моего цикла.Съемка образцов с переменной длиной
Я столкнулся с проблемами, когда Final
возвращал в основном 0 значений, поэтому, подумав немного, я решил, что все нулевые значения удалены из second
каждого цикла. Но это не помогло, после запуска этого кода я получаю:
> Final
[1] 0.000 0.000 0.000 0.000 0.000 0.000 288.569
Теперь я застрял. Потому что, когда я читаю свой код, кажется очень ясным: возьмите образец от 1: 1000 от числа единиц, соответствующих [i] ns
, учитывая i-й цикл. Затем возьмите стандартное отклонение ненулевых значений вектора, содержащего образец, и сохраните его в другом векторе, Final
.
Типичная проблема с циклом 'for', который должен быть записан как' for (i in 1: length (ns)) '. – Psidom