мы можем написать S3 generi c "+ .character" как обобщенную c функцию в R - PullRequest
0 голосов
/ 21 февраля 2020

1. Задача

Я хочу написать пакет together, включая обобщенную функцию c: +.character, для добавления двух символов вместе. Мои коды приведены ниже.

#' @title Paste
#' @param e1 character1
#' @param e2 character2
#' @name paste
#' @export
#' @method + character

"+.character" <- function(e1,e2) paste(e1,e2)

Когда я заканчиваю sh этот пакет, я пытаюсь

library(together)
'a' + 'b'

Это приходит к ошибке
Ошибка в "a" + «b»: без нумерации c аргумент бинарного оператора

2. мой endover
Я использую useMethod, чтобы определить + следующим образом

#' @export
#' @rdname paste

"+" <- function(e1,e2) UseMethod("+")

Теперь + работает

> 'a' + 'b'
[1] "a b"

3. Проблема снова
Когда я заканчиваю sh эту работу, я использую Ctrl + Shift + E, чтобы проверить этот пакет как проверку крана в RStudio. Всегда повторяется Предупреждение следующим образом:

> checking S3 generic/method consistency ... WARNING
  Warning: �Ҳ��������˵�S3����'+.character'
  See section 'Generic functions and methods' in the 'Writing R
  Extensions' manual.

4. мое предположение
Мы не можем использовать + в качестве обобщенной функции c для character, numeric, которые являются базовыми классами.

Это навязчиво в R?

Большое спасибо за эту проблему.

...