Автор: У. Н. Венэбльз
Издательство: Издательские решения
Жанр: Компьютеры: прочее
isbn: 9785449661531
isbn:
Эта автоматическая настройка длин объекта часто используется для ввода, например, в функции scan () (см. Раздел 7.2 [Функция scan ()]).
Наоборот требуется усечение размера объекта для выполнения присвоения. Следовательно, если alpha – объект длины 10, то
> alpha <– alpha [2 * 1:5]
делает его объектом длины 5, состоящим только из прежних компонентов с четным индексом. (Старые индексы не сохранены, конечно). Затем можно сохранить только первые три значения:
> length (alpha) <– 3
и вектор может быть расширен (путем пропущенных значений) аналогичным образом.
3.3. Получение и установка атрибутов
Функция attributes (object) возвращает список всех не внутренних атрибутов, в настоящий момент определенных для этого объекта. Можно использовать функцию attr (object, name) для выбора определенного атрибута. Эта функция редко используются, за исключением довольно особых обстоятельств, когда некоторый новый атрибут создается для некоторой конкретной цели, например, для присоединения даты создания или оператора с объектом R. Понять, однако, очень важно.
Некоторое внимание должно быть уделено, когда присваиваются или удаляются атрибуты как неотъемлемая часть системы объекта, используемой в R.
Когда такое используется на левой стороне присвоения, то оно может использоваться или для присоединения нового атрибута с object или изменения существующего. Например:
> attr (z, «dim») <– c (10,10)
позволяет R обрабатывать z как будто он является матрицей 10-на-10.
3.4. Класс объекта
У всех объектов в R есть класс (class), определяемы при помощи функции class. Для простых векторов это – только тип, например, «numeric», «logical», «character» или «list», но «matrix», «array», «factor» и "data.frame» " являются другими возможными значениями.
Специальный атрибут, известный как class (класс) объекта, используется для учета объектно-ориентированного стиля программирования в R. Например, если у объекта будет класс "data.frame», то он будет напечатан определенным способом, функция plot () выведет на экран его графически определенным способом, и другие, так называемые универсальные функции, такие как summary (), будут реагировать на него как на параметр, способом применимым к его классу.
Чтобы удалить временно эффект класса, используйте функцию unclass (). Например, если у winter есть класс "data.frame» то:
> winter
напечатает его в форме фрейма данных, которая скорее походит на матрицу, тогда как:
> unclass (winter)
напечатает его как обычный список. Только в довольно специальных ситуациях следует использовать это средство, но каждый раз для достижения согласования идеи класса и универсальных функций.
Универсальные функции и классы будут обсуждены далее в Разделе 10.9 [Ориентация объекта], но только кратко.
4. Упорядоченные СКАЧАТЬ