Как предсказать курс доллара. Поиск доходной стратегии с языком R - стр. 7
Например, матрицу из последовательности цифр 1,2 …15 из трех строк (nrow=3) можно создать следующим образом:
> Матрица1 <– matrix(1:15, nrow=3)
# эта команда создает матрицу из вектора 1:15=1,2 … 15
# количество строк в этой команде задается аргументом nrow
# если объект x (в этой команде он =1:15) не обладает достаточной длиной
# его элементы при создании матрицы будут использованы повторно ("recycling")
# если бы R понимал по-русски, то эту команду можно было бы ввести так:
# Матрица1 <– матрица(1:15, число строк=3)
# 1:15 означает последовательность 1, 2 … 15
> Матрица1
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15
Эту же матрицу, но из трех столбцов (ncol=3) можно создать следующим образом:
> Матрица2 <– matrix(1:15, ncol=3)
# количество столбцов задается аргументом ncol
> Матрица2
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
Отдельный элемент матрицы можно извлечь, обозначив его положение (номер строки и номер столбца) в квадратных скобках:
> Матрица2[3,2]
[1] 8
Отдельный элемент матрицы можно удалить (указав со знаком минус номер удаляемого элемента, предварительно определив его порядковый номер, считая от начала первой строки первой колонки и до конца последней строки последней колонки), но в результате она становится вектором:
> Матрица2[-8]
[1] 1 2 3 4 5 6 7 9 10 11 12 13 14 15
Отдельный элемент можно вставить в матрицу, указав в квадратных скобках положение (номер строки и номер столбца) куда его нужно вставить и приравняв его к определенному значению:
> Матрица2[3,2]<– NaN
> Матрица2
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 NaN 13
[4,] 4 9 14
[5,] 5 10 15
NaN– по-английски означает Not-a-Number-«не число». NaN получается в результате: деления 0 на 0, деления 0 на бесконечность, деления бесконечности на бесконечность, умножения 0 на бесконечность, сложения бесконечности с бесконечностью противоположного знака, вычисления квадратного корня отрицательного числа, логарифмирования отрицательного числа, а также в результате всех математических операций с использованием NaN в качестве одного из операндов. В R бесконечность обозначается как Inf. Например, в результате деления Inf на Inf получаем NaN:
> Inf/Inf
[1] NaN
Чтобы NAN в Матрице 2 заменить на нуль нужно ввести такой код:
> Матрица2[is.na(Матрица2)]<-0
# по-русски: Матрица2[является. nan (Матрица2)]<-0
> Матрица2
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 0 13
[4,] 4 9 14
[5,] 5 10 15
Отдельный столбец матрицы можно удалить, указав со знаком минус номер удаляемого столбца:
> Матрица2[, -2]