Петля не работает, когда она работает без петли - PullRequest
0 голосов
/ 17 мая 2019

Я написал цикл, генерирующий среднее и стандартное отклонение рандомизированного набора данных.Размер рандомизации будет отличаться в зависимости от размера выборки каждой выборки.Здесь у меня есть размеры выборки 80, 50, 32 и 20, поэтому я написал цикл, как показано ниже.

Однако я продолжал получать сообщение об ошибке «Ошибка в CT.raw $ среднее [i,] <- среднее»(as.numeric (unlist (as.data.frame (CT.raw [i,: неверное количество индексов на матрице "* </p>

Хитрость в том, что я выбрал несколько чисел и подключил их как i, среднее значение)и стандартное отклонение сработало бы нормально. Я пробовал много раз, но еще не понял, где я делаю неправильно.

Пример набора необработанных данных приведен ниже:

https://rit0 -my.sharepoint.com /: f: / g / personal / jc3992_ad_rit_edu / Ev4WZAETEg9OkT3u0esOS2cBq6Z8qTf8XkthdfGNA7VoBA? E = RkVFRA

    random.f <- function(Data){
  x=seq(from=2, to=1730, length=1729)
  Data=CT.raw
  set.seed(123)
  for (i in x){
  #for j = 11 to 91
  if (is.na(CT.raw[i,90])==FALSE)
  {
    index = sample(1:80, 35, replace=FALSE)
    index <- as.numeric(index)
    CT.raw <- as.data.frame(CT.raw)
  CT.raw$average[i,]= mean(as.numeric(unlist(as.data.frame(CT.raw[i,11:90])[c(index),])), trim = 0, na.rm = TRUE) 
  }else if(is.na(CT.raw[i,60])==FALSE & is.na(CT.raw[i,61])==TRUE)
    {
    index = sample(1:50, 25, replace=FALSE)
    index <- as.numeric(index)
  CT.raw$average[i,]= mean(as.numeric(unlist(as.data.frame(CT.raw[i, 11:90])[c(index),])), trim=0, na.rm=TRUE) 
  }else if(is.na(CT.raw[i,42])==FALSE & is.na(CT.raw[i,43])==TRUE)
    {
    index = sample(1:32, 20, replace=FALSE)
    index <- as.numeric(index)
  CT.raw$average[i,]= mean(as.numeric(unlist(as.data.frame(CT.raw[i,11:90])[c(index),])), trim=0, na.rm=TRUE)
  }else (is.na(CT.raw[i,30])==FALSE & is.na(CT.raw[i,31])==TRUE)
    {
    index = sample(1:20, 15, replace=FALSE)
    index <- as.numeric(index)
  CT.raw$average[i,]= mean(as.numeric(unlist(as.data.frame(CT.raw[i,11:90])[c(index),])), trim=0, na.rm=TRUE)
  }
  }
}

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