R中的grep-like函数

时间:2015-06-12 15:55:42

标签: r grep

我正在尝试在R中编写一个程序,它将接收.pdb文件并发出.xyz文件。

我在删除包含无用数据的某些行时遇到问题。有大约30-40万行,我只需要大约3000行。包含有用信息的行以“ATOM”开头。

在unix终端中我只使用命令

grep ATOM < filename.pdb > newfile.xyz

但我不知道如何用R实现相同的结果。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您应该可以使用grep,并根据您的具体情况,substr

例如

#Random string variable
stringVar <- c("abcdefg", "defg", "eff", "abc")

#find the location of variables starting with "abc"
abcLoc <- grep("abc", substr(stringVar, 1, 3))

#Extract "abc" instances
out <- stringVar[abcLoc]
out

请注意,substr部分仅将搜索限制为stringVar的每个元素的前三个字符(例如,&#34; abc&#34;,&#34; def&#34;等) 。这可能不是绝对必要的,但我发现它有时非常有用。例如,如果你有一个像&#34; defabc&#34;你不想包括,使用substr将确保它不会被发现&#34; grep

希望它有所帮助。