Экспорт таблицы из R в PostgreSQL с помощью RPostgreSQL

Я использую RPostgreSQL. Я выполнил ряд процессов и получил таблицу в R. Я хотел поместить эту таблицу в PostgreSQL из R для дальнейшего анализа, который я буду использовать в кодах PostgreSQL. Проблема в том, что когда у меня есть таблица в R, которой нет в PostgreSQL, я не могу выполнять на ней коды SQL.

Образец таблицы s_2 формат данных не является фреймом данных, а temp - с плавающей запятой, а DateeTIMEE - временными метками:

       temp    DateeTIMEE
1     -1.64 2007-09-29 00:01:09
2     -1.76 2007-09-29 00:03:09
3     -1.83 2007-09-29 00:05:09
4     -1.86 2007-09-29 00:07:09
5     -1.94 2007-09-29 00:09:09
6     -1.87 2007-09-29 00:11:09
7     -1.87 2007-09-29 00:13:09
8     -1.80 2007-09-29 00:15:09
9     -1.64 2007-09-29 00:17:09
10    -1.60 2007-09-29 00:19:09
11    -1.90 2007-09-29 00:21:09
12    -2.08 2007-09-29 00:23:09
13    -1.94 2007-09-29 00:25:09
14    -2.12 2007-09-29 00:27:09
15    -1.87 2007-09-29 00:29:09
16    -2.18 2007-09-29 00:31:09
17    -1.98 2007-09-29 00:33:09
18    -1.73 2007-09-29 00:35:09
19    -1.84 2007-09-29 00:37:09
20    -2.04 2007-09-29 00:39:09
21    -1.86 2007-09-29 00:41:09
22    -1.94 2007-09-29 00:43:09
23    -1.77 2007-09-29 00:45:09
24    -1.78 2007-09-29 00:47:09
25    -1.50 2007-09-29 00:49:09
26    -1.46 2007-09-29 00:51:09
27    -1.72 2007-09-29 00:53:09
28    -1.67 2007-09-29 00:55:09
29    -1.56 2007-09-29 00:57:09
30    -1.69 2007-09-29 00:59:09
31    -1.97 2007-09-29 01:01:09
32    -1.79 2007-09-29 01:03:09
33    -1.79 2007-09-29 01:05:09
34    -1.84 2007-09-29 01:07:09
35    -1.91 2007-09-29 01:09:09
36    -1.87 2007-09-29 01:11:09
37    -1.98 2007-09-29 01:13:09
38    -1.83 2007-09-29 01:15:09
39    -1.88 2007-09-29 01:17:09
40    -1.88 2007-09-29 01:19:09

У меня есть попытки следующего кода:

library(sqldf)
sqldf("select * from s_2 where temp > -1 ")

но я придумал эту ошибку:

 Error in postgresqlNewConnection(drv, ...) : RS-DBI driver: (could not connect postgres@localhost on dbname "test" ) Error in !dbPreExists : invalid argument type.

Более того, могу ли я использовать таблицу s_2 в этом синтаксисе, пока она является временной переменной в R и не существует в БД?


person A.Amidi    schedule 07.01.2013    source источник
comment
Как вы сохраняете таблицу, например, dbWriteTable(con, "s_2", s_2) можете ли вы добавить свой код в вопрос, пожалуйста?   -  person agstudy    schedule 07.01.2013
comment
@agstudy Я не сохранял таблицу, это результат запроса. Позвольте мне сказать, что это переменная в R.   -  person A.Amidi    schedule 07.01.2013
comment
Вопрос обновлен предложенным вами кодом и связанной с ним ошибкой.   -  person A.Amidi    schedule 07.01.2013
comment
@ Можете ли вы добавить str (s_2) к своему вопросу, пожалуйста? мой код предполагает, что s_2 - это data.frame   -  person agstudy    schedule 07.01.2013


Ответы (2)


Таблицу с именем "p25" можно легко экспортировать в БД из следующего кода:

dbWriteTable(con, "p25",p25,overwrite = T )
person A.Amidi    schedule 14.01.2013

Вопрос немного сбивает с толку, но вы можете использовать пакет sqldf для выполнения запросов sql.

library(sqldf)
sqldf("select * from s_2 where temp > -1 ")

например: я просто поместил ваш s_2 в data.frame

> sqldf("select * from s_2 where temp < -2 ")
   temp      Datee    TIMEE
1 -2.08 2007-09-29 00:23:09
2 -2.12 2007-09-29 00:27:09
3 -2.18 2007-09-29 00:31:09
4 -2.04 2007-09-29 00:39:09
person agstudy    schedule 07.01.2013
comment
Я подключен к базе данных, но обнаружил следующую ошибку: Ошибка в postgresqlNewConnection(drv, ...): Драйвер RS-DBI: (не удалось подключиться к postgres@localhost при проверке имени базы данных) Ошибка в !dbPreExists: неверный аргумент тип. Вопрос: Существует ли s_2 в БД? - person A.Amidi; 07.01.2013