1. ホーム
  2. r

[解決済み] エラー R csv: Error in read.table(file = file, header = header, sep = sep, quote = quote, : 'file' は文字列か接続でなければなりません。

2022-02-01 10:21:42

質問

MiRLABというパッケージのRチュートリアルで、パッケージの機能に関する問題かどうかわからないのですが、悩んでいます。

という関数を使いたいのですが Pearson() .csvファイルのみ受け付けます。ファイルを完全に読み込むことができましたが、関数 Pearson() (MI、IDA、Lassoでも同様)、このようなエラーメッセージが表示されました。

Error in read.table(file = file, header = header, sep = sep, quote =) quote, : 'file' は文字列または接続でなければなりません。

dataset=read.csv("ArabPrueba1.csv", sep = ";")
cause= 3:23
effect= 24:44
pearson=Pearson(dataset,cause,effect)

ファイルやコマンドラインを変更して、関数が認識できるようにするにはどうしたらいいでしょうか?csvファイルか何かの問題なのでしょうか?チュートリアルの例では、ファイルはパッケージから直接取得されているので、このアプローチはカバーされていません。

よろしくお願いします。

解決方法は?

私は最終的に問題を解決しました、たとえそれがきれいな解決法でないように見えても、うまくいきます。問題は、コンソールに持っていったときに、元のファイルに余計な "" が追加されていたことだと思うので、ファイルを書き換えて、最近作成したファイルをコンソールに追加し直しました。

RNA <- read.table("RNA.csv", dec = ",", sep = ";", stringsAsFactors = FALSE, header = TRUE, blank.lines.skip = TRUE)
tRNA <- t(RNA)
write.table(tRNA, file = "tRNA_2.csv", quote = FALSE, dec = ".", sep = ",", qmethod = "escape")
tRNAt <- read.csv("tRNA_2.csv")

miRNA <- read.table("miRNA.csv", dec = ",", sep = ";", stringsAsFactors = FALSE, header = TRUE, blank.lines.skip = TRUE)
tmiRNA <- t(miRNA)
write.table(tmiRNA, file = "tmiRNAt.csv", quote = FALSE, dec = ".", sep = ",", qmethod = "escape")
tmiRNAt <- read.csv("tmiRNAt.csv")

dataset <- cbind2(x=tmiRNAt, y = tRNAt)
write.table(dataset, file = "dataset_2.csv", quote = FALSE, dec = ".", sep = ",", qmethod = "escape")

# MiRLAB:
library(miRLAB)
cause = 1:278
effect = 279:length(dataset)
ps = Pearson("dataset_2.csv", cause = cause, effect = effect)

何度も書いたり読んだりするのは良くないと思いますが、実はこの方法の方がうまくいった(全くうまくいかなかった)のです。

ありがとうございました。