我想在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
答案 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文件不在您当前的工作目录中