Описание тега r-s3
Одна из объектно-ориентированных систем на языке R.
4
ответа
Изменить объект S3, не возвращая его?
Я новичок в объектно-ориентированном программировании на R и борюсь с тем, как правильно написать функцию, которая модифицирует объект. Этот пример работает: store1 <- list( apples=3, pears=4, fruits=7 ) class(store1) <- "fruitstore" print.fru…
20 янв '14 в 20:19
1
ответ
Предупреждение о согласованности метода S3 при сборке пакета R с Roxygen
Я создал файл roxygen для функции, которая использует класс S3. Я обогащаю кислородом, а затем строю, проверяю и получаю предупреждение: * checking S3 generic/method consistency ... WARNING common: function(word.list, ...) common.list: function(word…
09 янв '13 в 14:05
3
ответа
Использование SD в качестве универсальной функции в R
Если у меня есть класс под названием fooтогда перегрузить summary функция summary.foo = function(x, ...) print("bar") Однако этот метод не работает с sd функция, то есть > bar = createFooClass() > sd.foo = function(x, ...) print("Hi") > sd(…
18 янв '11 в 19:48
0
ответов
R s3 Как не переписывать обобщенные методы
Я пытаюсь разобраться в системе классов s3 в R. Документация говорит, что мне нужно создать универсальную функцию для метода, который я хочу создать. Допустим, я хочу создать метод foo для класса XYZ. Как я могу быть уверен, что со всеми пакетами, к…
01 июл '14 в 05:25
2
ответа
is.object и система классов S3
С использованием class Функция позволяет определить класс объекта: > x = 5 > class(x) [1] "numeric" Я также понимаю, что мы можем использовать is.object команда, чтобы определить, есть ли у объекта класс. Однако некоторые типы объектов являютс…
18 янв '11 в 14:35
1
ответ
Присвоение нескольких значений среде
Учитывая окружающую среду xудобная стенография для assign(x, value, envir = e) это написать e[[x]] <- value, В настоящее время не существует аналога оператора подмножества для назначения нескольких объектов одновременно: > e = new.env(parent =…
13 май '14 в 21:27
1
ответ
Где поставить многоточие в перегрузках функции S3?
У нас есть класс S3, для которого мы определяем plot и другие общие функции. Мы не уверены, где ... должен идти. Есть два варианта: plot.hadronacf(x, col = "black", ...) plot.hadronacf(x, ..., col = "black") Точно так же и для print. а также summary…
08 янв '19 в 16:56
1
ответ
Как вы получаете методы S3 для работы с объектами S4?
Я пишу метод S3, который я хочу работать с любым объектом R, включая объекты S4. Первое, что я не понимаю, это то, что классы S4 не являются производными от базового класса S4, поэтому f <- function(x) UseMethod("f") Я не могу просто объявить f.S…
06 май '11 в 14:47
1
ответ
Безопасное создание S3 Generics в R
Хенрик Бенгтссон (Henrik Bengtsson) предоставил Интернету хороший способ создания обобщений S3 в R, не беспокоясь о том, были ли они уже созданы до... в 2002 году. То, что его функция setGenericsS3 делает, в основном: проверьте, хорошо ли имя провер…
12 дек '11 в 13:12
0
ответов
Р: Переписать поведение "[" для матриц?
Я пытаюсь добавить класс "matrix" и переписать поведение по умолчанию "[". Примеры кода ниже: annMatrix <- function(mat=NULL, rowAnn=NULL, colAnn=NULL) { if(is.null(mat)) mat <- matrix(nrow=0, ncol=0) mat <- as.matrix(mat) if(is.null(rowAnn…
29 июл '17 в 10:04
1
ответ
Как мне перерегистрировать метод S3 внутри пакета R?
Я работаю над инструментом для R и не могу понять, как заменить методы S3 внутри пакетов. Давайте принимать print.aov например. Хочу заменить свое тело, но внутри stats Пространство имен. Если я просто переназначу функцию в пространстве имен > re…
22 янв '15 в 21:39
1
ответ
Как экспортировать новую универсальную функцию для нового класса S3?
Я определяю новую функцию work_with_myS3 который должен работать с моим новым классом S3 myS3: work_with_myS3 = function (x) { UseMethod("work_with_myS3", x) } work_with_myS3.myS3 = function(x) { some code } Когда я получаю это в моем обычном сеансе…
21 мар '16 в 14:31
0
ответов
S3 Локальный экологический подход без окружающей среды
Я изучаю следующее руководство по S3: http://www.cyclismo.org/tutorial/R/s3Classes.html Мне нравится "Подход местной окружающей среды" (и я могу жить с его недостатками). Но я не понимаю, почему существует ручное создание локальной среды. Почему бы …
10 июн '15 в 10:02
1
ответ
Проверка соответствия S3 общего / метода... ПРЕДУПРЕЖДЕНИЕ
Я уже прочитал следующие два обсуждения: Roxygen2 - как правильно документировать методы S3 Предупреждение о согласованности метода S3 при сборке пакета R с Roxygen И следующие два урока: http://cran.r-project.org/doc/manuals/R-exts.html http://adv-…
07 мар '18 в 05:24
2
ответа
Перегрузка оператора S3 для нескольких классов
Я определил два класса, которые могут успешно добавлять два своих собственных объекта или число и один из своих собственных объектов. a <- structure(list(val = 1), class = 'customClass1') b <- structure(list(val = 1), class = 'customClass2') `…
28 мар '17 в 10:01
1
ответ
Почему класс (data.frame(...)) не показывает наследование списка?
Часто говорят, что data.frame наследуется от list, что имеет смысл, учитывая множество общих парадигм для доступа к столбцам data.frame ($, sapply, так далее.). Еще "list" не входит в число предметов, возвращаемых в списке классов data.frame объект:…
26 окт '13 в 14:06
0
ответов
R: Создание универсальной функции для 'split' из пакета 'base' в глобальной среде
Для простоты я буду использовать следующий пример кода:) Я определил класс S4 test, а потом, как обычно, я принял setMethod написать обобщенную функцию split для класса test: # define a S4 class setClass( Class="test", representation=representation(…
04 фев '15 в 12:39
1
ответ
Получить список типов данных с универсальной функцией S3
Я пытаюсь написать функцию, в которую я могу добавить произвольное количество объектов и получить список типов данных этих объектов. Это личное задание для изучения S3 Generics. Что я сделал до сих пор: myTypes <- function(x, ...) { dots <- li…
22 май '15 в 07:08
1
ответ
Правильный способ реализации диспетчеризации S3 на классах R6
У меня есть R6 класс, и я хочу добавить S3 метод для этого. В документации, которую я нашел, упоминается кратко, что для использования S3 отправить на R6 Вы должны иметь class = TRUE, но я не смог найти пример того, как это должно быть сделано. Я ви…
23 янв '15 в 19:46
1
ответ
Метод печати с пользовательскими классами
Я экспериментирую с S3-class методы и общие функции, но у меня есть проблема, которая, как мне кажется, подчеркивает недопонимание в моем мышлении. Возможно, я путаюсь с тем, как работает печать или как хранить values а также attributes работает вну…
15 ноя '15 в 13:47