Как предсказать курс доллара. Поиск доходной стратегии с языком R. Владимир Георгиевич Брюков

Читать онлайн.



Скачать книгу

отрицательного числа, а также в результате всех математических операций с использованием 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]

      #Матрица2[, -2 столбец] – перед запятой вместо номера строки оставляют пустое место

      [,1] [,2]

      [1,] 1 11

      [2,] 2 12

      [3,] 3 13

      [4,] 4 14

      [5,] 5 15

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

      > Матрица2[, 2]<-16:20

      # Матрица2[, 2 столбец] <-16:20

      > Матрица2

      [,1] [,2] [,3]

      [1,] 1 16 11

      [2,] 2 17 12

      [3,] 3 18 13

      [4,] 4 19 14

      [5,] 5 20 15

      Отдельную строку матрицы можно удалить, указав в квадратных скобках со знаком минус номер удаляемой строки:

      > Матрица2[-3, ]

      # Матрица2[-3 строка, ] – после запятой вместо номера столбца оставляют пустое место

      [,1] [,2] [,3]

      [1,] 1 16 11

      [2,] 2 17 12

      [3,] 4 19 14

      [4,] 5 20 15

      Отдельную строку матрицы можно вставить, указав ее номер в квадратных скобках, и приравняв ее к вектору вставляемых определенных значений

      > Матрица2[3, ] <-c(3,8,13)

      # Матрица2[3 строка, ] <-c(3,8,13)

      > Матрица2

      [,1] [,2] [,3]

      [1,] 1 6 11

      [2,] 2 7 12

      [3,] 3 8 13

      [4,] 4 9 14

      [5,] 5 10 15

      R также работает и с массивами данных (array), которые сходны с матрицами, но могут иметь данные с более чем двумя измерениями. Очевидно, что массивы данных – это просто расширенные матрицы. Как и в матрицах, все элементы массива должны иметь одинаковый тип данных. Массивы данных создаются при помощи функции array. Например, массив из последовательности чисел 1,2 …30, состоящий из двух матриц с тремя строками и пятью столбцами можно создать следующим образом:

      > Мой.Массив<– array(1:30, dim=c(3,5,2))

      # аргумент dim указывает на размер массива данных

      # dim =c (3,5,2) создает из вектора 1:30 массив данных из 3 строк, 5 столбцов и 2 матриц.

      # если бы R понимал по-русски, то эту команду можно было бы ввести так:

      # Мой.Массив<– множество(1:30, размер=объединить(3,5,2))

      > Мой.Массив

      , , 1

      [,1] [,2] [,3] [,4] [,5]

      [1,] 1 4 7 10 13

      [2,] 2 5 8 11 14

      [3,] 3 6 9 12 15

      , , 2

      [,1] [,2] [,3] [,4] [,5]

      [1,] 16 19 22 25 28

      [2,] 17 20 23 26 29

      [3,] 18 21 24 27 30

      > dim(Мой.Массив)

      [1] 3 5 2

      Заметим, что в функции array в скобках сначала дается вектор 1:30, из которого создается массив данных, затем следует выражение dim=c(3,5,2), предписывающее с помощью функции объединения создать массив данных, соответственно, из трех строк, пяти столбцов и двух матриц.

      Отдельный