Как создать новую строку в каждом 49-м столбце из фрейма данных в файле .log (в R)? - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь импортировать файл .log с помощью read.table в R

Ниже приведен образец (кроме test.log) 20410088416; 5268; 1; 5251; 1; 253; 3; 2 ; -8,101; 25,00; 3,250; 1; 32,00; 55,00; 59; 0; 0,100; 0,000; 0,000; 2,216; -9,315; 25,00; 3,250; 1; 30,00; 30,00; 50; 0; 0; 0; -192,633; -35.912; -8.026; -194.842; -35.729; -9.264; 0 ;; 42; 1; 0,0 ...

Я приложил тест. Журнал здесь (https://www.dropbox.com/s/pki7wkwdtxy2gcc/test.log?dl=0 )

log<- read.table("test.log", sep=";")

Выходной журнал показывает 1 набл. Из 10560 переменных. Желаемый результат будет 220 obs из 48 столбцов. Как я могу использовать это чтение, чтобы каждый 49-й столбец был индексирован для другой новой строки в R? Я пытался изменить форму функции, и другие методы здесь не сработали. надеюсь, что есть более эффективный способ решения этой проблемы.

заранее спасибо за ваш обмен и помощь.

Отредактировано: обратите внимание, что они находятся в наборе данных - я рассматривать их как строки под 1 столбцом. Я хотел бы, чтобы вывод был (см. Img ниже):

целевой вывод

1 Ответ

0 голосов
/ 04 августа 2020

Не самый оптимальный, но попробуйте так:

sep_in_rows <- seq(from = 1, to = ncol(log), by = 48)
y <- vector()

for(i in 2:length(sep_in_rows)){
  first_index <- sep_in_rows[i-1]
  second_index <- sep_in_rows[i]
  y <- as.data.frame(rbind(y, log[first_index:second_index]))
}
...