Я пытаюсь прочитать текстовый файл с различными длинами строк:Импортировать данные в R с неизвестным количеством столбцов?
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
Чтобы преодолеть эту проблему, я использую заливку аргумент = TRUE, в read.table, так:
data<-read.table("test",sep="\t",fill=TRUE)
к сожалению, оценить максимальную длину строки, read.table читает только первые 5 строк файла, и создает объект, глядя, как это:
data
V1 V2 V3 V4 V5
1 1 NA NA NA NA
2 1 2 NA NA NA
3 1 2 3 NA NA
4 1 2 3 4 NA
5 1 2 3 4 5
6 1 2 3 4 5
7 6 NA NA NA NA
8 1 2 3 4 5
9 6 7 NA NA NA
10 1 2 3 4 5
11 6 7 8 NA NA
есть Aw ay заставить read.table прокручивать весь файл, чтобы оценить максимальную длину строки? Я знаю, что возможное решение было бы указать номер столбца, как:
data<-read.table("test",sep="\t",fill=TRUE,col.names=c(1:8))
Но так как у меня есть много файлов, я хотел, чтобы оценить это автоматически в R. Любое предложение? :-)
EDIT: исходный файл не содержит прогрессивные номера, так что это не решение:
data1<-read.table("test",sep="\t",fill=TRUE)
data2<-read.table("test",sep="\t",fill=TRUE,col.names=c(1:max(data1))
вы можете поместить заголовок в файле (т.е. файлы имеют согласованный формат)? – Shane
К сожалению, файлы не создаются извне, и каждая строка может иметь случайное количество записей. –