当我使用fill = TRUE选项时,R脚本会丢失一些列值

时间:2015-06-15 15:34:44

标签: r

我遇到了我的一个R脚本的问题。我在Ubuntu上使用R。

该脚本应该在R中打开一个临时文件,删除并重新排列列,然后将其保存为新的临时文件。脚本应该打开的文件(tempfile2.xyz)相当长,数据如下所示:

ATOM   /   1 / N /  ALA / A / 2  /  -14.451 /  3.633 / -3.578 / 1.00 / 41.50  /  N

我添加了反斜杠以指示不同的列。

我想取第12,7,8和9列并删除其余部分,所以看起来像这样:

N -14.451 3.633 -3.578

脚本应该用:

x <- read.table("tempfile2.xyz", header=FALSE, fill=TRUE)
y <- x[,c(12,7,8,9)]
write.table(y, file="tempfile3.xyz")

q()

有些文件工作正常,但其他文件却给我错误:

  

&#34;扫描错误(文件,什么,nmax,sep,dec,quote,skip,nlines,   na.strings,:第X行没有Y元素&#34;。

我尝试使用fill = TRUE选项来解决错误,但后来我丢失了一些数据。

11     C -12.008  -0.738     -0.787
12     C -12.459  -2.061     -0.201
13        -2.810   0.378       0.55
14        -2.372  -0.384       0.55
15     C -10.777   0.534     -2.768

因此原始第12列中的一些数据丢失了,我不明白为什么。

数据最初来自.pdb文件,使用grep从中提取原始数据,然后将其放入临时文件中,然后该脚本将处理该文件。

感谢您的意见。

0 个答案:

没有答案