我希望将 .tps 文件读入 R。
现在可以在以下位置获得示例文件:
我试图读入 R 的实际文件显然有更多的个人/ID(> 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))
}