Хранение значений из цикла IF в векторе

Я иду за мусорными баками.txt и сохранение его данных в «data». Я пробовал печатать его, и он печатает правильно.

data <- read.csv("bins.txt", header = FALSE)
for (n in 1:24060)
   {
   j=(data[n,])
    for (i in 1:20)
    {
      m=(i-1)*80
      n=(i*80)-1
      if(m<j && j<n)
      {        
        print (i)
      } 


    }
  }

Я хочу не печатать (i) , а сохранить значения i в некотором векторе и вывести его за пределы цикла и передать его в

obs="vector" 

Что-то вроде этого

Метки

1 ответ

  1. Понятия не имею, что ваши бункеры.txt. Поскольку я действительно не люблю вложенные циклы, вот предложение:

    (i) определить двадцать пар значений min (или m) и max (или j) при проверке условий:

     m <- lapply(1:20, function(x) (x-1)*80)
     n <- lapply(1:20, function(x) (x*80)-1)
    

    (ii) возвращает список из двадцати векторов на основе данных, основанных на двадцати комбинациях m и n:

    lapply(1:20, function(x) dat[m[[x]] < dat &  dat < n[[x]]])
    

    Предполагая, что ваши данные

    dat <- seq(0, 1000, length.out=50)
    

    Первые шесть возвращенных векторов:

    [[1]]
    [1] 20.40816 40.81633 61.22449
    
    [[2]]
    [1]  81.63265 102.04082 122.44898 142.85714
    
    [[3]]
    [1] 163.2653 183.6735 204.0816 224.4898
    
    [[4]]
    [1] 244.8980 265.3061 285.7143 306.1224
    
    [[5]]
    [1] 326.5306 346.9388 367.3469 387.7551
    
    [[6]]
    [1] 408.1633 428.5714 448.9796 469.3878