web-dev-qa-db-ja.com

read.table()およびread.csv両方Rmdのエラー

Rmdでtxtを読みたい

---
title: "Untitled"
output: html_document
---
```{r}
country <- read.table("country.txt")
country
```

エラーが表示されます:

processing file: Preview-2878539db5c7.Rmd

Quitting from lines 6-8 (Preview-2878539db5c7.Rmd) 
Error in file(file, "rt") : cannot open the connection
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> read.table -  > file
Execution halted

しかし、私はRコンソールでコードを正常に実行できます

> country <- read.table("country.txt")

> country
     production1 education1     fir1 inflation1 lq1 nonstatein1 patent1     tax1   trade1
2001    52920.47   132649.4 2.339263   0.700000  NA    19562.16  109313 23783.07 23783.07
2002    65876.57   144090.3 2.500826  -0.800000  NA    24727.30  131972 27479.61 27479.61
2003    89227.20   156280.4 2.691411   1.168900  NA    34044.45  164611 31537.50 31537.50
2004    92656.06   167683.7 2.615238   3.878600  NA    45613.10  177364 36179.87 36179.87
2005   167115.37   171379.7 2.617289   1.810000  NA    77525.52  231570 42008.37 42008.37
2006   218827.79   181084.6 2.578939   1.467800  NA    77441.52  282315 54866.43 54866.43
2007   286691.88   192677.9 2.439093   4.772700  NA    99032.26  333059 66453.31 66453.31
2008   364955.86   202542.8 2.440807   5.864570  NA   124621.23  418524 74104.80 74104.80
2009   398476.09   213539.2 3.783803  -0.693900  NA   153670.18  537957 65501.69 65501.69
2010   511364.93   254805.1 3.806066   3.322200  NA   194286.94  700304 81966.57 81966.57
2011   624657.55   279690.7 2.862413   5.393433  NA   229513.81  997132 91118.75 91118.75

ファイルはwdに存在します

> file.exists("country.txt")
[1] TRUE

また、read.csv()を使用しようとしますが、同様のエラーが表示されます。

processing file: Preview-28786aad2e0.Rmd

Quitting from lines 6-8 (Preview-28786aad2e0.Rmd) 
Error in file(file, "rt") : cannot open the connection
Calls: <Anonymous> ... withVisible -> eval -> eval -> read.csv -> read.table -> file
Execution halted
23
Liu

短い答えは:

理由を知っているgetwd()

現在のRコンソールの作業ディレクトリをR Markdownドキュメントの作業ディレクトリ(このR Markdownドキュメントのディレクトリ)と混同しないでください。疑わしい場合は、getwd()を作業ディレクトリを知りたい場所に出力します(例:* .Rmd)。注R Markdownドキュメントは、再現性を高めるために個別のRセッションでコンパイルされるため、現在のRコンソールはR Markdownドキュメントのコンパイルとは関係ありません。

28
Yihui Xie

私はばかげたケースですが、他の誰かに起こる可能性があります... Rmdは、私が考えていた現在の作業ディレクトリではなく、デフォルトの作業ディレクトリに保存されていました。私はファイルの長いリストを持っていて、スクリプトがそこにないことに気づきませんでした。確認する価値があります!

1
Picarus

現在のRMDファイルは現在の作業ディレクトリにありません

1
user6679712

Markdown(.Rmd)ファイルが存在する場所にすべてのデータファイルを配置してみてください。