Описание тега reference-class

Ссылочные классы - это новый (начиная с R 2.12) способ объектно-ориентированного программирования в R, при котором объекты не копируются, а изменяются. Как и большинство методологий передачи по ссылке, они особенно хорошо подходят для работы с большими наборами данных.
1 ответ

Как мне индексировать объекты referenceClass?

Таким образом, пытаясь использовать referenceClasses в первый раз. Я понял, как создать объект, но мне нужен "массив" объектов. Я обычно использую data.frames, но вы не можете поместить объект во фрейм данных. пытаясь использовать списки, но не могу…
23 ноя '13 в 14:31
1 ответ

Как получить название ссылочного класса?

Например, есть ли какая-то функция getName что позволяет мне сделать: > TestA <- setRefClass("TestA") > getName(TestA()) [1] "TestA"
17 янв '14 в 04:20
1 ответ

Создание пакета R, который определяет ссылочные классы

Я создаю пакет R Пакет определяет несколько ссылочных классов. Существует зависимость между классами, потому что один является базовым классом, а другие являются подклассами. Из-за этой зависимости файлы пакета должны быть загружены в определенном п…
05 окт '12 в 01:43
1 ответ

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

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

Загрузка переменной в объект из файла RData, это эффективно для памяти?

Вот пример: MyClass = setRefClass("MyClass", fields = c("x", "y")) MyClass$methods( initialize = function(xinit=0, yinit=0, filename="") { if(file.exists(filename)) { message("yes, it is there!") load(filename) print(x) print(y) x <<- x y <…
15 июн '14 в 15:02
1 ответ

Сохранить поле ссылочного класса R

Я пытаюсь сохранить поле ссылочного класса R: myclass = setRefClass("myclass", fields = list( x = "numeric", y = "numeric" )) myclass$methods( dfunc = function(i) { message("In dfunc, I save x and y...") base::save(.self$x, .self$y, file="/tmp/xy.rd…
13 авг '14 в 12:08
2 ответа

Программирование с использованием базового класса

Как определить несколько полиморфных конструкторов и функций, таких как function Add( x, y : Integer ) : Integer; begin Add := x + y end; function Add( s, t : String ) : String; begin Add := Concat( s, t ) end; begin Writeln(Add(1, 2)); Writeln(Add(…
11 сен '13 в 21:37
0 ответов

Принуждение суперкласса к подклассу

У меня есть класс, D, который содержит виртуальный класс, A, Я хотел бы заставить кусочки D которые включают A в один из двух подклассов для A, Это возможно с эталонными классами R? Желаемый вывод должен иметь новый объект класса D который наследует…
14 мар '17 в 23:15
1 ответ

Внедрение зависимостей: как использовать / внедрить PicoContainer Framework в R

Вопросы Общий вопрос Как бы вы начали внедрять PicoContainer-Framework в R? Конкретный вопрос Как на самом деле будет выглядеть "реестр (механизм)"? Я придумал "версию бедняка", которая работает только для одного процесса регистрации (см. Класс Defa…
1 ответ

Пакеты R - я должен импортировать пакет `методов`?

Я использую setRefClass создавать классы и так как является частью methods пакет, я предположил, что вам нужно объявить эту зависимость как import, Однако следующий минимальный пример терпит неудачу Rcmd.exe check когда importИНГ methods: #' @docTyp…
04 фев '14 в 10:15
1 ответ

Используйте ссылочный класс в качестве уровней фактора

У кого-нибудь есть опыт использования ссылочных классов в качестве уровней фактора? Это один из моих шагов по добавлению поддержки, подобной внешнему ключу, к data.frame в одном из моих пакетов. Я в конечном итоге хочу создать data.frame которые мог…
24 апр '13 в 14:53
2 ответа

Перегрузка операторов для функций в R - странное поведение

К сожалению, такие вещи, как (f+g)(3) где f и g обе унарные функции не работают в R. Поэтому я попытался перегрузить оператор "+" для унарных функций следующим образом: "+.function" = function(e1, e2){ return(function(x) e1(x) + e2(x)) } Но если я п…
15 мар '13 в 12:17
0 ответов

Расширение методов as.data.frame и as.matrix для объекта, созданного с помощью setRefClass

Я создаю объект ссылочного класса способом, подобным примеру ниже: # Class ------------------------------------------------------------------- myDataFrame <- setRefClass(Class = "myDataFrame", fields = list(data = "data.frame", key_columns = "cha…
02 ноя '18 в 17:24
2 ответа

Ссылочный класс с пользовательскими полями классов в R?

Я хотел бы использовать пользовательский ссылочный класс внутри другого ссылочного класса, но этот код не работает: nameClass <- setRefClass("nameClass", fields = list(first = "character", last = "character"), methods = list( initialize = functio…
19 сен '13 в 11:23
1 ответ

Как расширить ссылочный класс, определенный в пакете R, который использует частные функции?

Исходя из аналогичного вопроса, я хотел бы иметь возможность разрешить пользователям расширять класс в моем пакете, который использует private (не export -ед) функции. Минимальный рабочий пример: # my_package/R/Main.R # My package: #' @import method…
14 авг '14 в 14:21
4 ответа

Частные члены в референтном классе R

Возможно ли иметь закрытые поля-члены внутри ссылочного класса R. Играя с некоторыми из онлайн примеров, которые у меня есть: > Account <- setRefClass( "ref_Account" > , fields = list( > number = "character" > , balance ="numeric") &g…
16 ноя '11 в 21:57
1 ответ

Эквивалент "этого" или "себя" в R

Я ищу эквивалент ключевого слова python "self" или java "this" в R. В следующем примере я создаю объект S4 из метода другого объекта S4 и мне нужно передать указатель на себя. Есть ли что-то на языке, чтобы помочь мне сделать это? MyPrinter <- se…
19 июл '16 в 00:49
1 ответ

Порядок методов в справочном классе R и нескольких файлах

Есть одна вещь, которая мне действительно не нравится в ссылочном классе R: порядок написания методов имеет значение. Предположим, ваш класс выглядит так: myclass = setRefClass("myclass", fields = list( x = "numeric", y = "numeric" )) myclass$method…
13 авг '14 в 07:10
1 ответ

r ссылочные классы - есть ли у них статические члены / переменные поля?

Я немного поиграл с системой R5 класса R, чтобы увидеть, что она может и не может делать. В этом процессе я наткнулся на то, что выглядит как статические члены поля класса (чего нет в документации - но я мог бы его пропустить) [Обновление 2014 года]…
09 ноя '12 в 06:45
1 ответ

Наследование ссылочного класса от внешнего пакета

Я пытаюсь переопределить метод ссылочного класса. Поскольку методы ссылочного класса привязаны к классу, а не к объекту, я считаю, что для этого мне нужно определить новый ссылочный класс, который наследуется от старого ссылочного класса. Однако кла…
30 июл '14 в 14:37