長いテーブルの代わりに広いテーブルを作成しようとしていた前の(類似の)投稿hereを書いていました。私は長い形式でテーブルを持っているので、別の質問として投稿しています。私も試したことを投稿しています。R:行が非常に多数のファイルを高速でバインドする
私が使用して〜11000個のファイルについてrbindするR
を使用しています:
1:プロットなどを作成するように私の下流の処理は、私は2つの質問があるR.にあるので
# get list of ~11000 files
lfiles <- list.files(pattern = "*.tsv", full.names = TRUE)
# row-bind the files
# use rbindlist to rbind and fread to read files
# use mclapply I am assigning 32 cores to it
# add the file basename as the id to identify rows
dat <- rbindlist(mclapply(lfiles, function(X) {
data.frame(id = basename(tools::file_path_sans_ext(X)),
fread(X))},mc.cores = 32))
を私はRを使用していますコードをより効率的に/高速にする方法はありますか?私は最後に期待される行の数を知っているので、データフレームをあらかじめ割り当てておけば助けになるでしょうか? .RDataとして、データベースまたは何か他のもののように - 私はこの巨大なデータ(どのような形式で)保存する必要がありますどのように
2.?
追加情報として:私はこれをやりたい3種類のファイルがあります。それらは次のようになります:
[[email protected] data]$ head C021_0011_001786_tumor_RNASeq.abundance.tsv
target_id length eff_length est_counts tpm
ENST00000619216.1 68 26.6432 10.9074 5.69241
ENST00000473358.1 712 525.473 0 0
ENST00000469289.1 535 348.721 0 0
ENST00000607096.1 138 15.8599 0 0
ENST00000417324.1 1187 1000.44 0.0673096 0.000935515
ENST00000461467.1 590 403.565 3.22654 0.11117
ENST00000335137.3 918 731.448 0 0
ENST00000466430.5 2748 2561.44 162.535 0.882322
ENST00000495576.1 1319 1132.44 0 0
[[email protected] data]$ head C021_0011_001786_tumor_RNASeq.rsem.genes.norm_counts.hugo.tab
gene_id C021_0011_001786_tumor_RNASeq
TSPAN6 1979.7185
TNMD 1.321
DPM1 1878.8831
SCYL3 452.0372
C1orf112 203.6125
FGR 494.049
CFH 509.8964
FUCA2 1821.6096
GCLC 1557.4431
[[email protected] data]$ head CPBT_0009_1_tumor_RNASeq.rsem.genes.norm_counts.tab
gene_id CPBT_0009_1_tumor_RNASeq
ENSG00000000003.14 2005.0934
ENSG00000000005.5 5.0934
ENSG00000000419.12 1100.1698
ENSG00000000457.13 2376.9100
ENSG00000000460.16 1536.5025
ENSG00000000938.12 443.1239
ENSG00000000971.15 1186.5365
ENSG00000001036.13 1091.6808
ENSG00000001084.10 1602.7165
何か助けていただければ幸いです!
ありがとうございます!あなたはこのR. でfread
とrbindlist
を使用するよりも高速ですが、を行うことはできません
lfilesがデータフレームではないため、 'setnames(lfiles、basename(lfiles)'は何をしていますか? –
@KomalRathi、リストでも動作する 'setattr'を使うように修正されました。 –