2016-12-07 6 views
0
if(!file.exists("./data/c3w4")){dir.create("./data/c3w4")} 
url341 <- "https://d396qusza40orc.cloudfront.net/getdata%2Fprojectfiles%2FUCI%20HAR%20Dataset.zip" 

download.file(url341, destfile = "./data/c3w4/pr341.zip") 

Я уверен, что я использовал этот набор команд для загрузки файла изначально, но теперь, когда я пытаюсь воспроизвести код он дает ошибку Error in download.file(url341, destfile = "./data/c3w4/") : cannot open destfile './data/c3w4/', reason 'No such file or directory'Невозможно воспроизвести мой код для download.file в Markdown, если я скопирую тот же код для консоли, он работает

Это какой-то полезный вывод с моей консоли: Я удалил файл «pr341.zip», который я загрузил в первый раз.

> getwd() 
[1] "C:/Users/avtarsingh/Downloads" 
> list.dirs() 
[1] "."             
[2] "./data"            
[3] "./data/c3w4"          
[4] "./data/c3w4/UCI HAR Dataset"      
[5] "./data/c3w4/UCI HAR Dataset/test"     
[6] "./data/c3w4/UCI HAR Dataset/test/Inertial Signals" 
[7] "./data/c3w4/UCI HAR Dataset/train"     
[8] "./data/c3w4/UCI HAR Dataset/train/Inertial Signals" 
[9] "./new"            
> list.files("./data/c3w4") 
[1] "project.Rmd"  "UCI HAR Dataset" 

* (с добавлением редактирования) Просто заметил, что если я скопировать и вставить код из R уценки на консоли, она работает. Зачем?

+0

ли ваши изменения рабочего каталога? – Kristofersen

+0

Я так не думаю, я пытаюсь выяснить, что я изменил. Я вернул свой рабочий каталог вправо по умолчанию. – Bhail

+0

(В случае, если вы этого не сделали), выведите 'getwd()' в Markdown, а также –

ответ

3

Мой опыт работы с rmarkdown заключается в том, что вам действительно нужно понять, что рабочий каталог не совпадает с рабочим каталогом в консоли, и вы не можете сделать предположения, что «.» на пути. Если вы используете getwd() и используете paste(), чтобы создать полный путь к файлу, который обычно будет работать, но вы должны убедиться, что создали папки, которые вам нужны в любом месте (что может быть не очевидно) используются в качестве рабочего каталога. Конечно, вы можете проверить это, чтобы узнать, а затем построить вещи напрямую, то есть сделать тестовый документ с помощью getwd(), чтобы узнать, какой фактический рабочий каталог работает, а затем построить путь к файлу оттуда.

Часто для меня в конечном итоге с чем-то вроде

paste0("~","downloads/","filname") 
+0

Я проверю это. Спасибо за ответ – Bhail

+0

Я вижу, что использование полного пути - это первое, что мне нужно практиковать при написании сценариев (.Rmd или иначе). Еще есть еще что-то, ** ** root.dir _ **, который я хочу практиковать с [link] (http://stackoverflow.com/questions/20060518/in-rstudio-rmarkdown-how-to-setwd) , Благодарю. – Bhail

+0

Да, это очень хороший момент. – Elin