Rで多くのcsvファイルをマージしようとしています。それらはすべて共通の列を共有しています。 csvファイルのしかし、私はこれを行う必要があるたびにすべての名前を入力するファイルが多すぎます。は、入力としてls()を使用して、Rs内のcsvファイルをマージする
これはうまく動作します:
test <- merge(quant_dysmorph_data.csv, srs_adult.csv, by = "individual", all
= TRUE)
私はあまりにも正常に見えるmergeコマンドの入力として似たようなことができます:
cat(ls(pattern = ".csv"), sep = ",")
戻り値: bapq.csv、bapq_raw.csvを、 bapq_recode.csv、fhi_informant.csv、fhi_interviewer.csv、fhi_subject.csv、quant_dysmorph_data.csv、srs_adult.csvなど(ごめんなさい、コメントボックスは出力として正しくフォーマットされません...)
私はmergeコマンドの入力としてこれを使用するときはしかし、私はエラーを取得する:
x <- merge(cat(ls(pattern = ".csv"), sep = ","), by = "individual", all =
TRUE)
戻り値:あなたの助けを事前に
Error in as.data.frame(y) : argument "y" is missing, with no default
7.as.data.frame(y)
6.as.data.frame(y)
5.nrow(y <- as.data.frame(y))
4.merge.data.frame(as.data.frame(x), as.data.frame(y), ...)
3.merge(as.data.frame(x), as.data.frame(y), ...)
2.merge.default(cat(ls(pattern = ".csv"), sep = ","), by = "individual", all
= TRUE)
1.merge(cat(ls(pattern = ".csv"), sep = ","), by = "individual", all = TRUE)
感謝を。
'cat'が使用されている:あなただけの.csvさんの完全なフォルダをマージするために探している場合は、一人一人が共通の変数で一緒にマージされますする必要があり
、あなたはこれを行うことができます画面に印刷する。 NULLオブジェクトを返します。あなたはおそらくdata.framesのリストを使って作業したいと思うでしょう。詳細については、[この投稿](https://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames)を参照してください。 – lmo
これまで、私は〜40の.csvファイルを独自のサブディレクトリに保存した後、setwd()とdir()を使ってループするファイル名のベクトルを取得しました。 –