Regex 从R中的文本文件中删除特定行
我使用Regex 从R中的文本文件中删除特定行,regex,r,Regex,R,我使用sink()将脚本的输出写入.txt文件,但出于任何原因,提示符也被写入了txt文件。几天前我问了一个问题来解决这个问题,但没有答案,所以我从另一个角度来探讨这个问题。以下是我的脚本生成的txt文件: > geno(hdr) DataFrame with 12 rows and 3 columns Number Type Description <character> &
sink()
将脚本的输出写入.txt文件,但出于任何原因,提示符也被写入了txt文件。几天前我问了一个问题来解决这个问题,但没有答案,所以我从另一个角度来探讨这个问题。以下是我的脚本生成的txt文件:
> geno(hdr)
DataFrame with 12 rows and 3 columns
Number Type Description
<character> <character> <character>
GT 1 String Genotype
GQ 1 Integer Genotype Quality
DP 1 Integer Read Depth
HDP 2 Integer Haplotype Read Depth
HQ 2 Integer Haplotype Quality
... ... ... ...
mRNA . String Overlaping mRNA
rmsk . String Overlaping Repeats
segDup . String Overlaping segmentation duplication
rCov 1 Float relative Coverage
cPd 1 String called Ploidy(level)
> sink()
geno(hdr)
具有12行3列的数据帧
编号类型说明
GT 1字符串基因型
GQ 1整型基因型质量
DP 1整数读取深度
HDP2整数单倍型读取深度
HQ 2整数单倍型质量
... ... ... ...
mRNA。串重叠mRNA
rmsk。字符串重叠重复
塞格杜普。字符串重叠分段复制
rCov 1浮动相对覆盖率
cPd 1字符串称为倍性(级别)
>水槽()
由于我想要删除的行是以
开头的行,我在想是否有办法打开txt文件并删除那些特定的行。在这种情况下,将删除行>geno(hdr)
和>sink()
。我不擅长正则表达式在R,所以我不知道这将如何工作。谢谢你的帮助。谢谢 你可以试试这个。逐行读取文件并检查该行是否以
开头,如果不是,请将其附加到新文件中:
con <- file('test.txt', open = 'r')
while(TRUE) {
line <- readLines(con, n = 1)
if(length(line) == 0) break
else if(!startsWith(line, ">")){
write(line, file = "newTest.txt", append = TRUE)
}
}
con?也许capture.output()
会起作用?我也尝试了capture.output()。不走运。我真的不知道问题是什么,这就是为什么我决定走这条路,而不是像你在前面的评论中所说的那样,在我使用sink()
时,也不会显示提示。您的CPU环境是什么:R版本/OS/R Studio或RScript或RCmd运行代码?我在CentOs 6.8上使用的是Rstudio 0.98.1103。R版本3.3.0是!工作完美。