Система объектных классов S4 является одним из методов объектно-ориентированного программирования на языке R.
1 ответ

Как я вижу существующие классы

Я использовал setClass функция для определения нескольких новых классов. Но эти классы не отображаются в моей среде Rstudio. Как мне увидеть все существующие классы? Вот пример: setClass("geckoNss", representation(absolute = "character", item = "lis…
21 май '15 в 02:29
2 ответа

Упс! Ошибки с кодом ООП S4 и загадочной ошибкой

Я пытаюсь настроить объект S4 и не могу понять, что с ним не так. Объект предназначен для облегчения печати множества демографических данных. Вот код: dem <- setClass("dem", slots = list(num_cats = "numeric", cat_labels = "character", cat_counts …
28 авг '18 в 17:14
1 ответ

Существует элемент класса S4 в списке

У меня есть список с объектами S4. Мне нужно проверить, присутствует ли один объект S4 в этом списке. Я попытался с некоторыми альтернативами, найденными на этой странице, но безуспешно: Я пытался с существует: exists(foo,where=my_list) Error in lis…
16 фев '16 в 15:03
1 ответ

Слоты класса против инициализации несовпадения сигнатур

Рассмотрим следующий класс S4: setClass('Foo', representation(model='data.frame')) setMethod('initialize', 'Foo', function(.Object, a, b) { .Object@model <- data.frame(a, b) .Object }) Это может быть реализовано с помощью: new('Foo', a=1:4, b=4:7…
31 мар '12 в 16:08
1 ответ

Как вызвать standardGeneric с именем переменной функции

Следующий код выдает предупреждение: test_slot = "testslot" setGeneric(name = test_slot, def = function(object){ standardGeneric(test_slot) }, where = globalenv() ) [1] "testslot" Warning message: In .recursiveCallTest(body, fname) : the body of the…
24 май '15 в 03:11
1 ответ

Есть ли способ инициализировать объект S4, чтобы был возвращен другой объект?

У меня есть иерархия классов с суперклассом fb из которых не должно быть никаких объектов (я пробовал виртуальные классы, но столкнулся с проблемой, что вы не можете инициализировать объекты из виртуальных классов). Далее у меня есть два подкласса (…
22 июл '11 в 12:48
1 ответ

Почему вы должны назначать NA пустым прототипам, а не оставлять их пустыми?

Обсуждая прототипы S4, Хэдли заявляет, что Пустое значение для возраста, вероятно, не то, что вы хотите Вместо этого он устанавливает значение по умолчанию NA, Вот код setClass("Person", representation(name = "character", age = "numeric")) Для досту…
21 май '15 в 23:09
1 ответ

Избегание учета окружающих кадров при получении значения поля эталонного класса S4

Я большой поклонник эталонных классов S4, поскольку они допускают гибридный стиль программирования (функциональность / передача по значению по сравнению с oop / передача по ссылке; пример) и, таким образом, значительно повышают гибкость. Тем не мене…
20 мар '13 в 16:27
1 ответ

Написание универсального метода S4 с двумя аргументами

Я пытаюсь определить свой собственный класс S4 с помощью универсального метода. setClass("MultiplyObject", representation(the.factor = "numeric")) # Create a new instance of a class with the "new" method multobj <- new("MultiplyObject", the.facto…
23 фев '14 в 02:11
1 ответ

R Сравнение двух объектов SummarizedExperiment

Мой модульный тест не проходит при сравнении эталонного и ожидаемого SummarizedExperiment объекты. Сообщение об ошибке: > expect_identical(target, current) Error: `target` not identical to `current`. Attributes: < Component “assays”: Class def…
14 мар '18 в 20:11
1 ответ

Класс S4 с перегрузкой конструктора имеет дубликаты в документации roxygen2

Я написал класс S4 в пакете R. я использую roxygen2 для документации: #' A timeframe class represents a start date, end date and frequency #' #' @slot start_date First date in the timespan #' @slot end_date Last date in the timespan #' @slot frequen…
04 май '17 в 00:35
0 ответов

R s3 Как не переписывать обобщенные методы

Я пытаюсь разобраться в системе классов s3 в R. Документация говорит, что мне нужно создать универсальную функцию для метода, который я хочу создать. Допустим, я хочу создать метод foo для класса XYZ. Как я могу быть уверен, что со всеми пакетами, к…
01 июл '14 в 05:25
1 ответ

Как преобразовать слоты объектов класса S4 в векторы или матрицы?

У меня есть объект класса s4 из пакета ROCR. Он имеет несколько слотов, содержащих данные, которые связаны между собой (например, "x.values", "y.values" и "alpha.values"). Я хотел бы объединить их в матрицу путем доступа к слотам для выполнения неко…
25 июл '13 в 14:43
1 ответ

ggplot2: как прочитать преобразование масштаба из объекта графика

Я пытаюсь извлечь информацию об ограничениях и преобразовании существующего объекта ggplot. Я уже близко, но мне нужна помощь. Вот мой код data = data.frame(x=c(1,10,100),y=(c(1,10,100))) p = ggplot(data=data,aes(x=x,y=y)) + geom_point() p = p + sca…
12 янв '16 в 08:54
0 ответов

Эффективная настройка параметров в объектах S4

Я пишу имитационную модель в R, чтобы отслеживать поведение набора взаимодействующих агентов. Для собственного здравого смысла я даю каждому агенту свой собственный объект S4, в котором я храню его траекторию и другие параметры. В настоящее время я …
03 окт '16 в 20:02
2 ответа

Создание объекта S4 в R

Я занят сравнением различных методов машинного обучения в R. Это тот случай: я сделал несколько функций, которые в автоматическом режиме способны создавать каждую отдельную модель прогнозирования (например: логистическая регрессия, случайный лес, не…
27 фев '16 в 09:59
1 ответ

Как использовать S4 объектное программирование в R

Что не так с моим сценарием R? Я пытаюсь использовать вектор пользовательских объектов (здесь вектор объектов "Страница") в другом пользовательском объекте (здесь объект "Книга") setClass("Page", slots = c(PageNo = "numeric", #scalar Contents = "cha…
20 апр '16 в 20:17
0 ответов

Классы s4 экспортируются по умолчанию при наличии метода инициализации

Я думал, что классы нуждаются в директиве exportClass в NAMESPACE для экспорта, но Классы, определенные в пакете, но не экспортируемые, тем не менее экспортируются, если в базе кода есть метод инициализации для класса. то есть я могу создать экземпл…
22 авг '18 в 10:17
2 ответа

UUIDgenerate() без класса s4 создает один и тот же uuid в каждом экземпляре

Когда я создаю новый экземпляр S4 класс в R, я хотел бы, чтобы вновь созданный объект имел уникальный id поле. Я пытаюсь добиться этого через UUIDgenerate() от uuid пакет. Проблема в том, что я получаю то же самое UUID на каждом новом экземпляре объ…
08 июн '16 в 12:18
1 ответ

Как перехватить предупреждения, отправленные при выборе метода S4

Предупреждения, генерируемые при оценке аргументов универсальных функций S4, не могут быть перехвачены с помощью withCallingHandlers (). Иллюстрация нормального поведения withCallingHandlers: ### simple function that sends a warning send_warning &lt…
28 ноя '13 в 13:56