我遇到了我的一个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从中提取原始数据,然后将其放入临时文件中,然后该脚本将处理该文件。
感谢您的意见。