Обзор
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