Проблема с setwd() в R

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

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

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

и мне удалось прочитать файл, указанный путем с помощью

read.csv(path, stringsAsFactors = TRUE)

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

setwd(path)

or

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

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

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

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


person SchrodingersStat    schedule 22.12.2016    source источник
comment
вам просто нужно все это как одну строку символов: setwd("C/Users/Daniel....)   -  person Nate    schedule 22.12.2016
comment
Это путь к файлу. Вы не можете изменить каталоги на файл.   -  person cory    schedule 22.12.2016
comment
Спасибо всем! получил это работает   -  person SchrodingersStat    schedule 22.12.2016


Ответы (1)


Ваша проблема в том, что вы путаете каталог (".../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") в любом случае никогда не сработает.

person Ben Bolker    schedule 22.12.2016