2014-02-05 77 views
0

我想列出目錄中文件的前綴列表。我也有相同的前綴,例如約45文件:R文件列表的前綴列表

AH#01, AH#02... AH#45

然後

BH#01, BH#02...

我試圖讓AH,BH ...名單(它們是.sp文件)。

我被這個列表卡住了。然後有這個名單,我想申請的R腳本一個特定的文件名,爲AH,然後BH

+0

感謝您的建議。我試了一下,結果是AH#1,AH#2,... BH#1,BH#2 ...但我只想要AH,BH,...這是有幫助的......此外,您知道如何將R腳本應用於這些前綴的列表。例如,我想將一個腳本應用到名爲'nomfic'的文件中,'nomfic'是前面列表的前綴(如AH,然後是BH,...)。 – user3266414

回答

0

我可能誤解了你的問題,但這裏是我的建議:

prefix_letters <- c("AH", "BH") 
prefix_numbers <- gsub(" ", "0", format(1:45, digits=2)) 
m <- outer(prefix_letters, prefix_numbers, function(x, y) paste(x, y, sep="#")) 
l <- data.frame(t(m)) 
names(l) <- prefix_letters 
head(l) 

    AH BH 
1 AH#01 BH#01 
2 AH#02 BH#02 
3 AH#03 BH#03 
4 AH#04 BH#04 
5 AH#05 BH#05 
6 AH#06 BH#06 
1

這應該工作:

sub('(.*)#.*','\\1',list.files(your_directory_path)) 

例子:

sub('(.*)#.*','\\1',c('AB#1','AH#45')) 
[1] "AB" "AH" 

要應用腳本的結果(雖然通常我們使用的文件名),你做的東西騙人的:

nomfic<- sub('(.*)#.*','\\1',list.files(your_directory_path)) 
lapply(nonfic, function(x){your_script}) 
+0

非常感謝。所以它運作良好... – user3266414

0

可以使用sub功能替換爲空字符串的字符串無關的部分:

vec <- c("AH#01", "AH#02", "AH#45", "BH#01", "BH#02") 

sub("#.*" , "", vec) 
# [1] "AH" "AH" "AH" "BH" "BH"