web-dev-qa-db-fra.com

read.table () et read.csv les deux Erreur dans Rmd

Je veux lire un txt en Rmd

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

Il montre une erreur:

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

Mais je peux exécuter du code dans la console R avec succès

> 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

Le fichier existe dans wd

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

J'essaie également d'utiliser read.csv () mais cela montre une erreur similaire:

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

La réponse courte est:

CONNAISSEZ _ getwd()

Ne confondez pas le répertoire de travail de votre console R actuelle avec le répertoire de travail de votre document R Markdown (qui est le répertoire de ce document R Markdown). En cas de doute, imprimez getwd() où vous voulez connaître votre répertoire de travail (par exemple dans * .Rmd). Remarque Les documents R Markdown sont compilés dans des sessions R distinctes pour améliorer la reproductibilité, de sorte que votre console R actuelle n'a rien à voir avec la compilation des documents R Markdown.

28
Yihui Xie

Le mien est un cas idiot, mais peut arriver à quelqu'un d'autre ... le Rmd avait été enregistré dans mon répertoire de travail par défaut et non dans le répertoire de travail actuel où je pensais être. J'avais une longue liste de fichiers et je ne savais pas que le script n'était pas là. Vaut le détour!

1
Picarus

Votre fichier RMD actuel n'est pas dans votre répertoire de travail actuel

1
user6679712

Essayez simplement de placer tous vos fichiers de données là où réside votre fichier Markdown (.Rmd).

1