Обзор

R — это язык программирования и программная среда для статистического анализа, графического представления и составления отчетов. R был создан Россом Ихакой и Робертом Джентльменом в Университете Окленда, Новая Зеландия, и в настоящее время разрабатывается основной группой разработчиков R.

Ядром R является интерпретируемый компьютерный язык, который допускает ветвления и циклы, а также модульное программирование с использованием функций. R допускает интеграцию с процедурами, написанными на языках C, C++, .Net, Python или FORTRAN для повышения эффективности.

R находится в свободном доступе под Стандартной общественной лицензией GNU, а предварительно скомпилированные двоичные версии предоставляются для различных операционных систем, таких как Linux, Windows и Mac.

R — это бесплатное программное обеспечение, распространяемое в соответствии с авторским левом в стиле GNU и являющееся официальной частью проекта GNU под названием GNU S.

Эволюция Р

Первоначально язык R был написан Россом Ихакой и Робертом Джентльменом из отдела статистики Оклендского университета в Окленде, Новая Зеландия. R впервые появился в 1993 году.

  • Большая группа людей внесла свой вклад в R, прислав код и отчеты об ошибках.
  • С середины 1997 года существует основная группа («R Core Team»), которая может изменять архив исходного кода R.

Особенности R

Как указывалось ранее, R — это язык программирования и программная среда для статистического анализа, графического представления и составления отчетов. Существуют следующие важные особенности R:

  • R — это хорошо разработанный, простой и эффективный язык программирования, который включает в себя условные операторы, циклы, определяемые пользователем рекурсивные функции и средства ввода и вывода.
  • R имеет эффективное средство обработки и хранения данных,
  • Обучение программированию на языке R в Ченнаи, Адьярпредоставляет набор операторов для вычислений с массивами, списками, векторами и матрицами.
  • R предоставляет большой, последовательный и интегрированный набор инструментов для анализа данных.
  • R предоставляет графические средства для анализа данных и их отображения непосредственно на компьютере или печати на бумаге.

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

R-массивы

Массивы — это объекты данных R, которые могут хранить данные более чем в двух измерениях. Например, если мы создадим массив размерности (2, 3, 4), он создаст 4 прямоугольные матрицы, каждая из которых состоит из 2 строк и 3 столбцов. Массивы могут хранить только тип данных.

Массив создается с помощью функции array(). Он принимает векторы в качестве входных данных и использует значения параметра dime для создания массива.

Пример

В приведенном ниже примере создается массив из двух матриц 3x3, каждая из которых состоит из 3 строк и 3 столбцов.

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2))
print(result)

Когда мы выполняем приведенный выше код, он дает следующий результат:

, , 1
     [,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15
, , 2
     [,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15

Именование столбцов и строк

Мы можем давать имена строкам, столбцам и матрицам в массиве, используя параметр dimnames.

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
print(result)

Когда мы выполняем приведенный выше код, он дает следующий результат:

, , Matrix1
     ROW1 ROW2 ROW3
COL1    5   10   13
COL2    9   11   14
COL3    3   12   15
, , Matrix2
     ROW1 ROW2 ROW3
COL1    5   10   13
COL2    9   11   14
COL3    3   12   15

Доступ к элементам массива

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
# Print the third row of the second matrix of the array.
print(result[3,,2])
# Print the element in the 1st row and 3rd column of the 1st matrix.
print(result[1,3,1])
# Print the 2nd Matrix.
print(result[,,2])

Когда мы выполняем приведенный выше код, он дает следующий результат:

ROW1 ROW2 ROW3 
   3   12   15 
[1] 13
     ROW1 ROW2 ROW3
COL1    5   10   13
COL2    9   11   14
COL3    3   12   15

Управление элементами массива

Поскольку массив состоит из многомерных матриц, операции над элементами массива выполняются путем доступа к элементам матриц.

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
# Take these vectors as input to the array.
array1 <- array(c(vector1,vector2),dim=c(3,3,2))
# Create two vectors of different lengths.
vector3 <- c(9,1,0)
vector4 <- c(6,0,11,3,14,1,2,6,9)
array2 <- array(c(vector1,vector2),dim=c(3,3,2))
# create matrices from these arrays.
matrix1 <- array1[,,2]
matrix2 <- array2[,,2]
# Add the matrices.
result <- matrix1+matrix2
print(result)

Когда мы выполняем приведенный выше код, он дает следующий результат:

[,1] [,2] [,3]
[1,]   10   20   26
[2,]   18   22   28
[3,]    6   24   30

Вычисления по элементам массива

Мы можем выполнять вычисления для элементов массива, используя функцию apply().

Синтаксис

apply(x, margin, fun)

Ниже приводится описание используемых параметров:

  • x – это массив.
  • margin – это имя используемого набора данных.
  • fun — это функция, которая применяется к элементам массива.

Пример

Мы используем функцию apply() ниже, чтобы вычислить сумму элементов в строках массива по всем матрицам.

# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
# Take these vectors as input to the array.
new.array <- array(c(vector1,vector2),dim=c(3,3,2))
print(new.array)
# Use apply to calculate the sum of the rows across all the matrices.
result <- apply(new.array, c(1), sum)
print(result)

Когда мы выполняем приведенный выше код, он дает следующий результат:

, , 1
     [,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15
, , 2
     [,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   11   14
[3,]    3   12   15
[1] 56 68 60