Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики. У. Н. Венэбльз
Чтение книги онлайн.

Читать онлайн книгу Введение в R версия 3.5.2 (2018-12-20). Заметки по R: среда программирования для анализа данных и графики - У. Н. Венэбльз страница 7

СКАЧАТЬ вектора могут быть выбраны путем добавления к имени вектора индексного вектора в квадратных скобках. Более широко у любого выражения, которое оценивает вектор, может быть подмножества его элементов, так же выбранных путем добавления индексного вектора в квадратных скобках сразу после выражения.

      Такой индексный вектор может быть любым из четырех различных типов.

      – Логический вектор. В этом случае индексный вектор рециклично приводится к той же самой длине как вектор, из которого должны быть выбраны элементы. Значение, соответствующее TRUE в индексном векторе, выбрано, и те, которые соответствуют FALSE, опущены. Например:

      > y <-x [! is.na (x)]

      создает (или воссоздает) объект y, который будет содержать не несуществующие (только существующие) значения x в том же самом порядке. Заметим, что, если у x есть отсутствующие значения, то y будет короче, чем x. Также:

      > (x+1) [(! is.na (x)) & x> 0] -> z

      создает объект z и помещает в него значение вектора x+1, для которого соответствующее значение в x и не пропущено и положительное.

      – Вектор положительных целых величин. В этом случае значение в индексном векторе должно лежать в наборе {1, 2…, length (x)}. Соответствующие элементы вектора выбраны и связаны в этом порядке в результате. Индексный вектор может иметь любую длину, и результат имеет одинаковую длину с индексным вектором. Например, x [6] является шестой компонентой x и

      > x [1:10]

      выбирает первые 10 элементов x (предполагается, что length (x) не меньше, чем 10). Также:

      > c («x», «y») [rep (c (1,2,2,1), times=4)]

      (по общему признанию вещь маловероятная), производит символьный вектор длины 16, состоящий из «x», «y», «y», «x» повторенных четыре раза.

      – Вектор отрицательных целых величин. Такой индексный вектор указывает значение, которое будет исключаться, а не включаться. Таким образом:

      > y <– x [– (1:5)]

      даст все у, кроме первых пяти значений.

      – Вектор символьных строк. Эта возможность применяется там, где у объекта есть атрибут имен для идентификации его компонентов. В этом случае подвектор вектора имен может использоваться таким же образом в качестве положительных целых меток в пункте 2 далее выше:

      > fruit <– c (5, 10, 1, 20)

      > names (fruit) <– c («orange», «banana», «apple», «peach»)

      > lunch <– fruit [c («apple», «orange»)]

      Преимущество состоит в том, что алфавитно-цифровые имена часто легче запомнить, чем числовые индексы. Эта опция особенно полезна в соединении с фреймами данных, как увидим позже.

      Также индексное выражение может появиться на приемном конце присвоения, когда операция присвоения выполняется только на этих элементах вектора. Выражение должно иметь вектор вида [index_vector], поскольку наличие произвольного выражения вместо векторного имени не имеет здесь большого смысла.

      Присвоенный вектор должен соответствовать длине индексного вектора, и в случае логического индексируют вектор, СКАЧАТЬ