2014-09-25 5 views
0

У меня есть R-файл, который был создан в Windows. Файл имеет под кодомrunning r from linux error: не удается открыть соединение

print(5+7) 
fileConn<-file("ch7.txt","w+") 
close(fileConn) 

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

> source('R_linux.R') 
[1] 12 
Error in file("ch7.txt", "w+") : cannot open the connection 
In addition: Warning message: 
In file("ch7.txt", "w+") : cannot open file 'ch7.txt': Permission denied 
+0

Разрешенное разрешение может означать, что он не мог записать в каталог, потому что у вас нет надлежащих разрешений или что файл уже существует, но у вас нет разрешения на его перезапись. Думаю, мой первый вопрос. Есть ли файл с таким именем ('ch7.txt') уже существует? –

+0

нет. файл не существует – user2543622

+0

В каталоге, который вы пытаетесь записать 'ch7.txt', что происходит (в командной строке), если вы выполните« echo »тестовые данные»> ch7.txt'. Предоставляет ли оно также разрешение на отказ? –

ответ

0

Разрешения для файлов обрабатываются по-разному в Linux, чем в окнах. Я бы проверял, что у вас есть доступ для чтения/записи к файлу в вашем linux env.

Если у вашего Linux есть графический интерфейс правой кнопкой мыши и настройте разрешения. Если вам нужно сделать это в командной строке попробовать:

chmod 664 ch7.txt 

Это даст вам доступ на чтение и на уровне пользователей и групп для записи и чтения на «других» уровнях. Если вы не слишком беспокоиться о блокировки файла, который вы могли бы сделать:

chmod 777 ch7.txt 

Это даст вам чтение/запись/выполнение на пользователей/группы/других уровней.

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

+0

Вы можете применить вышеуказанную команду chmod к каталогу. – Dan

Смежные вопросы