Язык программирования R/Введение: различия между версиями
Содержимое удалено Содержимое добавлено
Data Frames |
Arrays |
||
Строка 366:
</pre>
===
Массивы состоят из ''n'' измерений, где каждое может быть вектором из объектов '''R''' одинакового типа. Одномерные массивы с одним элементом могут быть созданы следующим кодом:
<pre width=80>
> x = array(c(T,F),dim=c(1))
Строка 376 ⟶ 375 :
</pre>
Одномерный (dim=c(1)) массив ''x'' создаётся из вектора с одним значением из c(T,F). Идентичный одномерный массив ''y'' может быть создан с обоими значениями из c(T,F):
<pre width=80>
>
> print(a)
[1] TRUE FALSE
</pre>
Трёхмерный массив - 3 на 3 на 3 - может быть создан как показано ниже:
<pre width=80>
> z = array(1:27,dim=c(3,3,3))
Строка 413 ⟶ 410 :
</pre>
Массивы в '''R''' используются похожим на другие языки образом: посредством индексирования целыми числами начиная с 1 (а не 0, как в C). Следующий код демонстрирует как можно получить третий элемент трёхмерного массива (то есть массив 3 на 3):
<pre width=80>
> z[,,3]
Строка 423 ⟶ 419 :
</pre>
Указание двух из трёх размерностей возвращает одномерный массив:
<pre width=80>
> z[,3,3]
Строка 430 ⟶ 425 :
</pre>
Указание трёх из трёх размерностей возвращает элемент трёхмерного массива:
<pre with=80>
> z[3,3,3]
Строка 437 ⟶ 431 :
</pre>
Возможна и более сложная адресация:
<pre width=80>
> z[,c(2,3),c(2,3)]
Строка 456 ⟶ 449 :
</pre>
Массив должен быть симметричным по всем размерностям. Следующий код создаёт пару массивов 3 на 3:
<pre width=80>
> w = array(1:18,dim=c(3,3,2))
Строка 476 ⟶ 468 :
</pre>
Объекты векторов, из которых состоит массив, должны быть одинакового типа, но не обязательно числового:
<pre width=80>
> u = array(c(T,F),dim=c(3,3,2))
|