Как записать в файл с помощью 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.

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

Спасибо,

Йони и Цви.


person yoni and tszi    schedule 15.04.2011    source источник
comment
R не может записать в текущий рабочий каталог, в котором работал R. Разберитесь со своими разрешениями и повторите попытку.   -  person Gavin Simpson    schedule 15.04.2011
comment
И, пожалуйста, не делайте кросс-пост! Вы уже задавали тот же вопрос в списке рассылки RApache!   -  person aL3xa    schedule 15.04.2011
comment
Есть ли в вашем источнике все знаки больше, чем я вижу в вашем вопросе? Это, наверное, сильно испортило бы ситуацию. Похоже, весь скрипт сломан, а не только write.csv.   -  person Spacedman    schedule 16.04.2011


Ответы (1)


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

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

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

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

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

person Richie Cotton    schedule 15.04.2011
comment
Привет, спасибо за ответы. Во-первых, код r отлично работает с r ENV. Во-вторых, нет проблем с разрешением. Весь компьютер открыт для каждого для разрешения r и w. Мы сделали это, чтобы избежать каких-либо проблем с разрешением. Команда getwd() не ответила, используя rapache, поэтому мы действительно не знаем, в чем причина проблем)-: - person yoni and tszi; 16.04.2011