Использование пользовательской функции в mutate() с dplyr & monetDB

Я только начинаю раскрывать все преимущества использования R & monetDB/monetDBLite упаковка - отличная штука!
Мне было любопытно, однако, можно ли использовать пользовательскую функцию в dplyr"s mutate() т.е.

# Connect to monetDBLite
db <- src_monetdb(embedded = db.dir)
data <- tbl(db, "my.table")

# Try to make a new column using custom defined function  
data %>% group_by(colX) %>% mutate(NewCol = customFunc())  

Результатом является следующая ошибка:

Error in .local(conn, statement, ...) : 
Unable to execute statement 'SELECT colA colB colC...'.
Server says 'ParseException:SQLparser:SELECT: no such operator 'customFunc''.

Кажется, что у синтаксического анализатора SQL есть проблема с поиском пользовательской функции. Я что-то наблюдаю (объявляю R код в SQL определение функции и т. д.) Можно ли использовать пользовательские функции с monetDBLite пакет вроде этого?

1 ответ

Поскольку @Hannes ответил на мой вопрос в комментариях - я добавляю его сюда с некоторыми другими вещами, которые я поднял:

  • можно использовать основные dplyr глаголы (select, filter, group_by & mutate) в сочетании с некоторыми другими "базовыми" R функции. Список поддерживаемых функций и более подробно об этом dplyr Виньетка с базами данных в разделе "Перевод SQL". Итак, используя пример из моего вопроса выше - можно сделать:
    data %>% group_by(col_x) %>% mutate(new_col = log10(some_old_col)),

  • MonetDBLite не поддерживает UDF (например, мой вопрос здесь - если возможно использовать мой UDF внутри mutate вызов)...

  • ... однако "полный" MonetDB поддерживает ли используемые определенные функции для отправки в базу данных для вычислений. Все это хорошо объяснено на их домашней странице.

Другие вопросы по тегам