Основная парадигма наследования:сделать почти такой как нам надо класс, таким как нам надоОсновная парадигма наследования (по Страуструпу, конечно!) - "... сделать почти такой как нам надо класс, таким как нам надо". Проще,- создание специализированной версии на основе старой (исходной). .

Например, если имеется класс employee (работников вообще):.

empl <- list(name = "Serg", salary = 25000, union = F)
class(empl) <- c("employer")
,

то наследника с почасовой ставкой можно сделать следующим образом:

nempl <- list(name = "Serg", salary = 25000, union = F, hrate = 2.54)
class(nempl <- c("hemployee", "employee")

Новый класс наследует методы класса родителя, т.е. схема наследования здесь классическая.
Классическая схема наследования в полном соответствии с основными свойствами ООП
рис.1

И print.employee() работает и для hemployee, но в полном соответствии с основными свойствами ООП вывод не коснется переменной hrate (если реализация print.employee() существует):

> hempl
serg
salary 25000
union member FALSE

Схема работы здесь следующая:
>hempl вызывает print(hempl). Примитив UseMethod() начинает искать реализацию print.hemployee(), которой не существует.Тогда UseMethod выполняет поиск по второму имени в списке функций class()<- и находит print.employee(), который не знает о переменной hrate. Этот метод и будет выполнен..

В функции lm есть строка, которая формирует специальный символьный класс "lm", с наследником - матричной lm - "mlm":.


class(z) <- c(if(is,matrix(y)) "mlm","lm").

Такая конструкция сообщает достаточную гибкость в работе с различными объектами.

"Этим полукреслом мастер Гамбс начинает новую серию..."
И.Ильф, Е.Петров "Двенадцать стульев"

Вашему вниманию предлагается серия заметок по программированию на R. Основное внимание пока уделяется ООП в R

.

Функция замены в R

S3-классы в R

Полиморфизм в S3 классах

Наследование в R

Это результат освоения языка и преломление его к анализу данных. Если они помогут кому-нибудь, или сэкономят время, мы будем рады.

Анализ данных и визуализацияОсновная цель курса:

  • Уметь правильно представлять коммерческую информацию и данные
  • Уметь делать выводы о генеральной совокупности на основе выборки
  • Уметь анализировать процессы управления и производства
  • Уметь правильно прогнозировать тенденции развития бизнеса


Основные методы курса


Выбран метод «задачного подхода», т.е. каждая тема представляет собой отдельную задачу анализа данных, решенную с помощью MS Excel. У слушателей курса всегда есть возможность использовать их как образец в практической деятельности.


В качестве основы выбран MS Excel, несмотря на некоторые недостатки, он представляет превосходные возможности для начального обучения статистике и для серьезного применения статистических методов в процессе принятия деловых решений

Продолжается запись на курс "Статистический анализ и визуализация данных в R".

Визуализация данных. Временные рядыЦель курса:

  1. Дать базовые принципы программирования на R.
  2. Применение языка R к анализу данных.
  3. Закрепить/обновить знания математической статистики, преломить их в анализ данных.
  4. Создать навык визуализации данных (!)

Курс включает работу с временными рядами.