2017-09-19 7 views
0

サンプル$ sampleに含まれるフォルダ名のリストに "_quants"を追加します。私は、次を使用する場合:サブディレクトリのリストでfile.path()を使用するには

files <- file.path(dir, "quants", samples$sample, "_quants") 

> dir 
[1] "E:/ubuntu-shared/salmonTutorial/" 
> samples$sample 

[1] DRR016125 DRR016126 DRR016127 DRR016128 DRR016129 DRR016130 DRR016131 DRR016132 DRR016133 DRR016134 DRR016135 DRR016136 DRR016137 DRR016138 DRR016139 
[16] DRR016140 
16 Levels: DRR016125 DRR016126 DRR016127 DRR016128 DRR016129 DRR016130 DRR016131 DRR016132 DRR016133 DRR016134 DRR016135 DRR016136 DRR016137 ... DRR016140 

を私が取得:

[1] "E:/ubuntu-shared/salmonTutorial//quants/DRR016125/_quants" 

がどのように私は、二重//を削除し、 "_quants" を追加します "DRR016125" 希望得るためにfile.path()を使用します:

[1] "E:/ubuntu-shared/salmonTutorial/quants/DRR016125_quants" 
[2] "E:/ubuntu-shared/salmonTutorial/quants/DRR016126_quants" 
+0

二重の '/'を削除するには、最初のオブジェクト 'dir'に後続の'/'を含めないでください。これで、 'file.path(dir、quants"、paste0(samples $ sample、 "_quants")) ' – Frank

答えて

1

base::paste0使用してソリューション:

dir <- "E:/ubuntu-shared/salmonTutorial/" 
samples <- list(sample = c("DRR016125", "DRR016126", "DRR016127")) 

paste0(dir, "quants", samples$sample, "_quants") 
[1] "E:/ubuntu-shared/salmonTutorial/quantsDRR016125_quants" 
[2] "E:/ubuntu-shared/salmonTutorial/quantsDRR016126_quants" 
[3] "E:/ubuntu-shared/salmonTutorial/quantsDRR016127_quants" 

paste0 - ベクトルを連結し(文字に変換した後)、つまり単一の文字列を出力します。そして、あなたが複数のsamplesに合格すると、すべてのサンプルについてこれが実行されます。

+0

を実行できます。'?paste0'を使ってユーザのローカルドキュメントを参照する方が良いでしょう。 – Frank

関連する問題