2013-03-21 52 views
0

的可以说,我跑list.files()匹配模式选择文件从一个目录

我会得到一个特征向量看起来像这样的功能:当使用

tst<-c("Test.Uncx4.1_2281.2_deBruijn.txt", "Test.Vax1_3499.1_deBruijn.txt", 
"Test.Vax2_3500.1_deBruijn.txt", "Test.Vsx1_1728.1_deBruijn.txt", 
"Train.Alx3_3418.2_deBruijn.txt", "Train.Alx4_1744.1_deBruijn.txt", 
"Train.Arx_1738.2_deBruijn.txt", "Train.Bapx1_2343.1_deBruijn.txt", 
"Train.Barhl1_2590.2_deBruijn.txt", "Train.Barhl2_3868.1_deBruijn.txt" 
) 

我遇到的问题是参数patternlist.files() 像这样:list.files(dirs[1], pattern = "^[Train]",ignore.case=F)

我仍然得到所有的文件回来,而我真的希望只拿到了列车的文件。 这样的:

c("Train.Alx3_3418.2_deBruijn.txt", "Train.Alx4_1744.1_deBruijn.txt", 
"Train.Arx_1738.2_deBruijn.txt", "Train.Bapx1_2343.1_deBruijn.txt", 
"Train.Barhl1_2590.2_deBruijn.txt", "Train.Barhl2_3868.1_deBruijn.txt") 

这怎么可能还是我做了什么错?

+2

删除''''''' – Arun 2013-03-21 14:42:34

回答

3

你想要的是:

list.files(dirs[1], pattern = "^Train",ignore.case=F) 

与您提供的模式,用括号,你过滤的文件名称开头T,R,A,i或n。

+0

谢谢!帮助文件显示了括号,但是我现在意识到只有在询问多个模式的模式时才有必要。 (纠正我,如果我错了) – 2013-03-21 14:43:56

+1

不,它不适用于多种模式。括号定义了一组字符。所以[ab]将匹配字母“a”或字母“b”,而不是字符串“ab”。 – juba 2013-03-21 14:45:34

+0

括号用于索引可能具有多个目录的向量。 – 2013-03-21 14:45:38

相关问题