Почему я получаю эту ошибку, записывая данные в файл

у меня есть этот код

myvector <- c(3.45235, 1.32525, ... , 2.41351)    # some numbers
write(myvector, "C:/mypath/myfile.txt")           # I use "/" instead of ""

и я получаю следующую ошибку:

ошибка в файле (file, ifelse(append, "a", "w")): не удается открыть подключение дополнительно: предупреждение: в файле (файл, ifelse(append, "a", "w")): не удается открыть файл 'C:/mypath/myfile - ... txt': нет такого файла или каталог

я прочитала в этом уроке, но я не могу понять, что не так с моим кодом. Любой идея?

редактировать:

как отметил @dickoa, мне нужен существующий путь для записи файла, поэтому я попытался упростить следующим образом:

file.exists("C:/")
write(myvector, "C:/myfile.txt")

удивительно :P путь "C:/" существует (результат верен), но я получаю аналогичную ошибку:

ошибка в файле (file, ifelse(append, "a", "w")): не удается открыть соединение Кроме того: предупреждающее сообщение: in file (file, ifelse(append, "Вт")) : не удается открыть файл 'C:/mypath/myfile - ... txt': в разрешении отказано

3 ответов


Я знаю, что @dickoa ответил на вопрос в комментариях, но для того, чтобы дать хотя бы один ответ здесь, я хотел пройти через несколько простых gotchas с R на окнах.

  1. когда вы используете Windows, вам все равно придется использовать косые черты для путей. В R обратные косые черты зарезервированы для экранирования значений. Таким образом, путь в R выглядит так: C:/path/to/my/directory
  2. в новых вариантах Windows, C:\ защищен от записи учетных записей пользователей. Если вы хотите написать в На C:\, вы должны быть администратором. Вы можете сделать это, щелкнув правой кнопкой мыши значок R в Windows и выбрав "Запуск от имени администратора."Это также должно быть сделано, когда вы устанавливаете пакеты. Возможно, у вас нет прав на установку пакетов в определенных версиях Windows, Если вы не запускаете их от имени администратора.
  3. если вы не хотите запускать R как администратор, и вы хотите писать в файлы, вы по умолчанию будете иметь права на C:/Users/username/ справочник.

все заслуги перед @dickoa снова за его ответ в первом.

удачи!


Иногда проблема заключается в именовании файлов. Например, я столкнулся с этой проблемой, когда в имени файла было как "\", так как был динамический список с именами. Вы можете пройти мимо такой вещи, используя что-то вроде: sometext = gsub("/"," ", sometext).


Я просто поделился этим ответом С немного лучшим объяснением здесь, но суть в том, что:

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