Какие операции может выполнять SQL те пакеты R, которые не могут выполнять операции SQL? [закрыто]

мы также можем использовать

(.*?\n)*?

для соответствия всем, включая новую строку без жадного

. Это сделает новую строку опцией

(.*?|\n)*?
0
задан JohnDoeVsJoeSchmoe 3 March 2019 в 10:43
поделиться

1 ответ

Сравнивая R-пакеты, такие как RPostgreSQL и RPostgres, с командной строкой SQL или приложением для управления базами данных, вы вовсе не ограничиваете себя. Пакеты R могут предоставлять тот же интерфейс, похожий на командную строку, что и другие инструменты, например, путем включения dbExecute () через DBI, и вы можете выдавать любые необходимые операторы. Возможны различия в функциях-обертках более высокого уровня, которые могут иметь проблемы с взаимодействием между R и SQL. Такие проблемы могут выглядеть как интерпретация класса / типа данных (например, я считаю, что R-пакеты не знают, как разрешить типы данных массива postgresql в качестве конкретного примера). Это может повлиять, например, на команды типа upsert или вызовы для добавления полных data.frames в таблицы базы данных, поскольку типы данных могут не совпадать, когда функции более высокого уровня пытаются автоматически сопоставить их; аналогичные проблемы могут также возникнуть при необходимости отобразить NA в NULL или явно привести типы данных. Также могут быть проблемы при написании временных таблиц и подобных вещей. Я бы рассматривал их как причуды или раздражения, поскольку существуют обходные пути, которые допускают одинаковый уровень функциональности. Например, используя вызовы функций более низкого уровня, которые требуют более полной записи SQL; или путем дополнительной работы для сопоставления типов данных, которые будут транслироваться между собственными средами SQL и R. (Я ответил на другой вопрос SO в другом месте с примером такого обходного пути использования промежуточных таблиц между R и базой данных: Как вставить R-кадр данных в существующую таблицу в SQL Server ). Отход от команд на уровне транзакций для удовлетворения более полных потребностей администратора баз данных, таких как управление пользователями, разрешениями, базовыми конфигурациями и т. Д., Также может найти некоторые ограничения. Также отмечу, что очень популярный пакет dplyr, обеспечивающий удобные функции очень высокого уровня для взаимодействия с SQL, с большей вероятностью налагает ограничения, чем непосредственное написание операторов и использование низкоуровневых вызовов пакетов. dplyr автоматически строит операторы SQL с использованием вызовов функций R, но попытка сделать что-либо, кроме относительно простых вызовов стиля select / insert / update / join, может потребовать значительных усилий, чтобы позволить так называемым ярлыкам работать должным образом.

0
ответ дан Soren 3 March 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: