Как записать в файл с помощью rapache?

#r #rapache

#r #rapache

Вопрос:

Мы пытаемся перенести данные некоторых таблиц в файл, но безуспешно.

используя write.csv .

Вот несколько примеров кода, которые мы пробуем:

 > <%
> 
> X<-c(1:666)
> 
> print(X)
> 
> write.csv(X,"hh")
> 
> %>
  

Вот ошибки rapache, которые мы не можем определить:

 RApache Warning/Error!!!

Error in file(file, ifelse(append, "a", "w")) : cannot open the connection
RApache Warning/Error!!!

In addition:
RApache Warning/Error!!!

Warning messages:
RApache Warning/Error!!!

1: In readLines(icon, 1) : incomplete final line found on '/var/www/brew/sampleplan/step1_5.php'
RApache Warning/Error!!!

2: In readLines(icon, 1) : incomplete final line found on '/var/www/brew/sampleplan/step1_5.php'
RApache Warning/Error!!!

3: In readLines(icon, 1) : incomplete final line found on '/var/www/brew/sampleplan/step1_5.php'
RApache Warning/Error!!!

4: In readLines(icon, 1) : incomplete final line found on '/var/www/brew/sampleplan/writefile.php'
RApache Warning/Error!!!

5: In file(file, ifelse(append, "a", "w")) : cannot open file 'hh': Permission denied
RApache Warning/Error!!!
  

Функция brew вернула объект 'try-error' . Возвращаю код ответа HTTP 500.

Если кто-нибудь сможет написать нам простой пример или исправить наш код, это будет потрясающе.

Спасибо,

Йони и Цви.

Комментарии:

1. R не может выполнить запись в текущий рабочий каталог, где был запущен R. Выясните свои права доступа и повторите попытку.

2. И, пожалуйста, не размещайте перекрестные публикации! Вы уже задавали тот же вопрос в списке рассылки RApache!

3. Есть ли в вашем источнике все признаки «больше, чем», которые я вижу в вашем вопросе? Это, вероятно, сильно все испортило бы. Похоже, что сломан весь скрипт, а не только файл write.csv.

Ответ №1:

Чтобы упростить себе жизнь, сначала заставьте свой код работать самостоятельно, а затем внедряйте RApache.

Ошибка, которую вы видите, означает, что write.csv не удается выполнить запись в указанное вами местоположение. Поскольку запись в файл является распространенным источником проблем, вам следует добавить некоторый код проверки и обработки ошибок, чтобы сделать работу более надежной. Например,

  1. Укажите абсолютный путь ( path.expand ) или, по крайней мере, убедитесь, что вы знаете, где находится текущий рабочий каталог ( getwd ).

  2. Убедитесь, что каталог, в который вы записываете, существует ( file.exists ) и что вы можете записывать в него ( file.access , с mode = 2 помощью).

  3. Оберните свой вызов write.csv в вызов try или tryCatch .

Комментарии:

1. Привет, спасибо за ответы. Во-первых, r-код идеально работает с r ENV. Во-вторых, проблем с разрешениями нет. Весь компьютер открыт для всех с разрешением r и w. Мы сделали это, чтобы избежать любых проблем с разрешениями. Команда getwd () не ответила с использованием rapache, поэтому мы действительно не знаем, в чем причина проблем)-: