質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

1回答

1205閲覧

Rで複数のファイルのパス名をテキストファイルにまとめて読み込む方法

iziz

総合スコア8

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2020/04/26 00:19

Rのtximportという、ちょっとマニアックなパッケージについての質問になります。
下記の様にカレントディレクトリにいくつかディレクトリ、ファイルが格納されています。

R

1> setwd("~/iziz/practice/kallisto2") 2> file.path() 3character(0) 4> list.files() 5 [1] "kallisto_sample2.txt" "path.txt" "SRR1550989" "SRR1551005" 6 [5] "SRR1551011" "SRR1551050" "SRR1551057" "SRR1551071" 7 [9] "SRR1551091" "t2g2.txt" "target2gene.txt" 8> list.dirs() 9[1] "." "./SRR1550989" "./SRR1551005" "./SRR1551011" "./SRR1551050" "./SRR1551057" "./SRR1551071" 10[8] "./SRR1551091" 11 12#SRRから始まる各ファイルにtsvファイルが保存されている 13> setwd("~/kitaz/practice/kallisto4/SRR1551071") 14> list.files() 15[1] "abundance.h5" "abundance.tsv" "run_info.json" 16

このtsvファイルをtximportというパッケージを使って読み取りたいのですが、下記の様にファイルのパスを直接入力すると読み込めます。

R

1> library(tximport) 2> txi <- tximport('SRR1551071/abundance.tsv', type = 'kallisto', txOut = TRUE)

ここで、SRRから始まる全てのディレクトリに保存されているtsvファイルを同じ様に読み込みたいのですが、方法を教えて頂けないでしょうか?

<以下、試したこと>

マニュアル等ではファイルのパスをテキスト形式でまとめてそれを読み込むということになっていますが、エラーが出ます。

R

1> path_list 2 V1 31 SRR1550989/SRR1550989-abundance.tsv 42 SRR1551005/SRR1551005-abundance.tsv 53 SRR1551011/SRR1551011-abundance.tsv 64 SRR1551050/SRR1551050-abundance.tsv 75 SRR1551057/SRR1551057-abundance.tsv 86 SRR1551071/SRR1551071-abundance.tsv 97 SRR1551091/SRR1551091-abundance.tsv 10 11> txi <- tximport(path_list, type = 'kallisto', txOut = TRUE) 12 file.exists(files) でエラー: 'file' 引数が不正です 13

下記リンクを参考に、下記の様なコードも試しましたが、うまくいきません。

R

1> kallisto.files <- file.path(list.files('.', pattern = 'exp_kallisto'), 'abundance.tsv') 2> txi <- tximport(kallisto.files, type = "kallisto", txOut = TRUE)

file.pathとかlist.fileの使い方がよくわかっていませんが、要はパスを指定してtximportに読ませているということだと思うのですが。

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

R

1for( i in 1:7){ 2 assign(paste("txi", i, sep=""), tximport(path_list[i,1], type = 'kallisto', txOut = TRUE)) 3}

投稿2020/04/26 06:44

shimiken

総合スコア368

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問