Почему я получаю эту ошибку, записывая данные в файл
у меня есть этот код
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 на окнах.
- когда вы используете Windows, вам все равно придется использовать косые черты для путей. В R обратные косые черты зарезервированы для экранирования значений. Таким образом, путь в R выглядит так:
C:/path/to/my/directory
- в новых вариантах Windows, C:\ защищен от записи учетных записей пользователей. Если вы хотите написать в На C:\, вы должны быть администратором. Вы можете сделать это, щелкнув правой кнопкой мыши значок R в Windows и выбрав "Запуск от имени администратора."Это также должно быть сделано, когда вы устанавливаете пакеты. Возможно, у вас нет прав на установку пакетов в определенных версиях Windows, Если вы не запускаете их от имени администратора.
- если вы не хотите запускать R как администратор, и вы хотите писать в файлы, вы по умолчанию будете иметь права на
C:/Users/username/
справочник.
все заслуги перед @dickoa снова за его ответ в первом.
удачи!
Иногда проблема заключается в именовании файлов. Например, я столкнулся с этой проблемой, когда в имени файла было как "\", так как был динамический список с именами. Вы можете пройти мимо такой вещи, используя что-то вроде: sometext = gsub("/"," ", sometext).
Я просто поделился этим ответом С немного лучшим объяснением здесь, но суть в том, что:
попробуйте открыть файл в Excel, чтобы узнать, заблокирован ли он другим пользователем. Я получал те же сообщения об ошибках и смог выяснить, что у коллеги был файл открыт на своем компьютере, который заблокировал меня от возможности редактировать его.