Я хочу прочитать файл .tps в R.
Файл примера теперь доступен по адресу:
Файл примера
Фактические файлы, которые я пытаюсь прочитать в R, очевидно, имеют гораздо больше индивидуумов / идентификаторов (> 1000)
Формат файла .tps создается TPSDIG.
http://life.bio.sunysb.edu/morph/
Файл представляет собой обычный текстовый файл ANSI.
Файл содержит координаты X и Y и информацию о образце следующим образом.
Основная трудность заключается в том, что образцы различаются поколичество атрибутов (например, некоторые имеют 4, а некоторые имеют 6 наземных ориентиров LM, некоторые имеют 2 кривые, другие нет, поэтому у них нет связанных точек).
Я пытался работать с циклом for и read.table,но не может найти способ учесть различное количество атрибутов.
Пример запуска файла
LM=3
1 1
2 2
3 3
CURVES=2
POINTS=2
1 1
2 2
POINTS=2
1 1
2 2
IMAGE=COMPLETE/FILE/PATH/IMAGE
ID=1
SCALE=1
LM=3
1 1
2 2
3 3
CURVES=2
...
Пример фиктивного кода, который работает, если все образцы имеют одинаковое количество атрибутов.
i<-1
landmarks<-NULL
while(i < 4321){
print(i)
landmarks.temp<-read.table(file="filepath", sep=" ", header=F, skip=i, nrows=12, col.names=c("X", "Y"))
i<-i+13
landmarks.temp$ID<-read.table(file="filepath", sep=c(" "), header=F, skip=i, nrows=1, as.is=T)[1,1]
i<-i+1
landmarks.temp$scale<-read.table(file="filepath", sep=c(" "), header=F, skip=i, nrows=1, as.is=T)[1,1]
i<-i+2
landmarks<-rbind(landmarks, landmarks.temp)
print(unique(landmarks.temp$ID))
}