2016-12-22 2 views
0

Приносим извинения, если уже был дан ответ, я просмотрел много похожих тем, но не нашел решения. Я новичок в R, только что начал несколько дней назад, но чувствую, что добился достойного прогресса. Я пытаюсь загрузить некоторые старые данные из моей тезисов undergrad, чтобы немного потрудиться, но не может заставить меня изменить рабочий каталог.Проблема с setwd() в R

До сих пор я создал путь:

path<- file.path("C:", "Users", "Daniel", "Desktop", 
       "R_Practice", "Thesisdata.csv") 

и я имел успех с чтением файла, обозначенного пути с

read.csv(path, stringsAsFactors = TRUE) 

Однако, когда я пытаюсь использовать

setwd(path) 

или

setwd("C:", "Users", "Daniel", "Desktop", 
     "R_Practice", "Thesisdata.csv") 

Я получаю сообщение об ошибке чтения

Ошибка в setwd (х):. Не может изменить рабочий каталог»

Может кто-нибудь объяснить мне, что я делаю неправильно или мне точку в правильное направление? Я действительно не понимаю, почему он сможет успешно прочитать файл, используя этот путь, но не может установить его в рабочий каталог.

+1

Для этого вам нужно всего лишь одну строку символов: 'setwd (" C/Users/Daniel ....) ' – Nate

+2

Это путь к файлу. Вы не можете изменять каталоги в файл. – cory

+0

Спасибо все получили работу – SchrodingersStat

ответ

0

Ваша проблема заключается в том, что вы путаете с каталог (".../R_Practice") с файла (".../R_Practice/thesisdata.csv"). Поскольку @cory говорит в комментариях, вы не можете изменить рабочий каталог в файл.

Попробуйте

path <- file.path("C:", "Users", "Daniel", "Desktop", "R_Practice") 
setwd(path) 
r <- read.csv("Thesisdata.csv") 

Какой должна быть эквивалентна

r <- read.csv(file.path(path,"Thesisdata.csv")) 

(за исключением, конечно, что прежний подход оставляет вас в соответствующем рабочем каталоге, так что вы не должны держать эту директиву полный путь к вашим именам файлов)

Кроме того, setwd() принимает одну строку: setwd("C:",...,"R_Practice") никогда не будет работать в любом случае.

+0

Ahhh благодарит всех вас за это. – SchrodingersStat

+1

В то время как чувство приветствуется, StackOverflow обесценивается [используя комментарии, чтобы сказать «спасибо»] (http://meta.stackoverflow.com/questions/258004/should-thank-you-comments-be-flag-lq = 1), если этот ответ был полезен, вы можете его перенести (если у вас есть достаточная репутация), и в любом случае, если он удовлетворит ваш вопрос удовлетворительно, вам предлагается щелкнуть отметьте его, чтобы принять его. –