read.table()和read.csv都是Rmd中的错误

时间:2014-09-14 13:56:51

标签: r markdown knitr r-markdown read.table

我想在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 console中成功运行代码

> 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

4 个答案:

答案 0 :(得分:28)

简短的回答是:

  

了解getwd()

请勿将当前R控制台的工作目录与R Markdown文档的工作目录(此R Markdown文档的目录)混淆。如有疑问,请打印出您想知道工作目录的getwd()(例如* .Rmd)。注意R Markdown文档是在单独的R会话中编译的,以提高可重复性,因此您当前的R控制台与R Markdown文档的编译无关。

答案 1 :(得分:1)

只需尝试将所有数据文件放在Markdown(.Rmd)文件所在的位置。

答案 2 :(得分:1)

我是一个愚蠢的案例,但可能发生在其他人身上...... Rmd已经保存到我的默认工作目录而不是我认为的当前工作目录。我有一长串文件,并没有意识到脚本不在那里。值得一试!

答案 3 :(得分:1)

您当前的RMD文件不在您当前的工作目录中