импортировать набор данных со столбцами, разделенными на блоки - PullRequest
1 голос
/ 20 октября 2019

У меня есть набор данных текстового файла в формате amp, и я хочу представить его в виде таблицы в m строках и n столбцах, но эти данные разделены на блоки, то есть первые m строки содержат первые 19 столбцов, а затем сновате же самые строки m со следующими 19 столбцами и т. д., я попытался импортировать это в R с fread из data.table, но я мог прочитать только первый блок m строк с первыми 19 столбцами. Я поставил пример данных

Пример набора данных

1 Ответ

0 голосов
/ 20 октября 2019

Некоторые из них вы можете автоматизировать, а иногда вы делаете небольшую ручную проверку. У ваших данных есть шаблон, то есть 2 lines над началом набора данных не сформированы должным образом (включая заголовок, который является числом). То же самое касается любого другого блока. Первый столбец также не является частью набора данных. Вам не нужно это в свой набор данных, а также. Поэтому вам проще всего прочитать блоки без заголовка, удалить первый столбец, собрать их и добавить числовой заголовок. Это может быть достигнуто следующим образом.

df1 <- read.table(file = "dataset.txt", skip = 2, nrows = 100, header = FALSE)
# remove the first col
df1$V1 <- NULL

df2 <- read.table(file = "dataset.txt", skip = 104, nrows = 100, header = FALSE)
# remove the first col
df2$V1 <- NULL

df3 <- read.table(file = "dataset.txt", skip = 206, nrows = 100, header = FALSE)
# remove the first col
df3$V1 <- NULL

df4 <- read.table(file = "dataset.txt", skip = 308, nrows = 100, header = FALSE)
# remove the first col
df4$V1 <- NULL

df5 <- read.table(file = "dataset.txt", skip = 410, nrows = 100, header = FALSE)
# remove the first col
df5$V1 <- NULL

df6 <- read.table(file = "dataset.txt", skip = 512, nrows = 100, header = FALSE)
# remove the first col
df6$V1 <- NULL

# -------------------------------------------------------------------------

mydf <- cbind(df1,df2,df3,df4,df5,df6)
colnames(mydf) <- c(seq(1:100))

Вы можете увидеть здесь повторяющийся паттерн, в котором можно построить функцию или цикл, но я пока на этом пока не остановлюсь.

Надеюсь, это поможет.

...