この質問が以前に尋ねられたことは知っていますが、以前の投稿への回答は私の問題を解決できないようです.
タブ区切りの .txt ファイルが多数あります。各ファイルには 2 つの列 ("pos"、"score") があります。すべての「スコア」列を、複数の列を持つ 1 つのファイルにコンパイルしたいと考えています。各ファイルの行数はさまざまであり、コンパイルには関係ありません。
できればRでこれを達成する方法について誰かが私に指示できれば、それは非常に役に立ちます。
あるいは、私の最終的な目標は、各ファイルから「スコア」列の中央値と平均値を読み取ることです。したがって、ファイルをコンパイルするかどうかに関係なく、これを達成できれば、さらに便利になります。
ありがとう。
アップデート:
個人的なコード忍者のアイデアは魅力的ですが、これはファンタジーであり続けなければならないことを理解しています. 明示的でなくて申し訳ありません。
私はラップリーとリデュースを試しました。
> files <- dir(pattern="X.*\\.txt$")
> File_list <- lapply(filesToProcess,function(score)
+ read.table(score,header=TRUE,row.names=1))
> File_list <- lapply(files,function(z) z[c("pos","score")])
> out_file <- Reduce(function(x,y) {merge(x,y,by=c("pos"))},File_list)
行番号が可変であることを考えると、これはあまり意味がありません。プライヤーも試しました
> files <- list.files()
> out_list <- llply(files,read.table)
cbind と rbind だけでなく。通常、行番号が一致しないか、すべての「スコア」データが 1 つの列にコンパイルされているため、エラー メッセージが表示されます。
同様の投稿に関するアドバイス (たとえば、 Rで複数の csv ファイルをマージする、リスト内の複数の data.frames を同時にマージする、行数の異なるリスト内の複数のファイルをマージする) は役に立ちませんでした。
これで問題が解決することを願っています。