Добро пожаловать в R

Введение в язык программирования R

R — это объектно-ориентированный язык программирования, предназначенный для предоставления таких функций, как обработка данных, визуализация данных и статистические вычисления данных. R предоставляет различные операторы для работы с матрицами и векторами. Как и Python, R предоставляет интерпретатор командной строки для легкого доступа. Будь то математика в начальной школе, математика в средней школе или, может быть, высшая математика, вы можете делать все это с помощью интерактивного интерпретатора командной строки R.

> 3 + 2
[1] 5
> log10(100)
[1] 2

Итак, если вы новичок в R, то вы попали в нужное место. Давайте погрузимся в мир R и изучим некоторые основы программирования на языке R.

Создание переменной

R позволяет создавать переменные, используя буквы, цифры и специальные символы, такие как точка (.) И подчеркивание (_). Перед назначением нет необходимости определять тип данных.

> data_1 = 3
> data.2 <- 4
> Data_1 = 5
> data_1
[1] 3
> Data_1
[1] 5

Как видите, оба оператора присваивания — это = и ‹-. R — язык с учетом регистра. Итак, a и A — разные переменные.

Основные арифметические операции

Сложение, вычитание, умножение, деление и экспонента выполняются с помощью соответствующих операторов (+, -, *, /, ^). Помимо этого есть встроенные функции для других арифметических операций.

  1. Квадратный корень: sqrt ()
  2. Абсолютное значение: abs ().
  3. Логарифмическая функция: log () принимает e в качестве базового значения по умолчанию. Мы можем изменить базовое значение, указав с базовым аргументом как log (100, base = 10). Поскольку log base2 и log base 10 являются общими, для этих двух есть встроенные функции как log2 и log10 соответственно. .
  4. Экспоненциальная функция: exp ()
  5. Тригонометрические функции: функции sin (), cos (), tan (). принять значение в радианах в качестве входных данных.
  6. Комбинация: choose () используется для вычисления задач комбинации.
> sqrt(9)
[1] 3
> abs(2^3-3^2)
[1] 1
> cos(2*pi) + cos(pi)
[1] 0
> log2(64)
[1] 6
> log(64) # treated as ln(64)
[1] 4.158883
> choose(4,2) # 4!/((4-2)!*2!)
[1] 6

Вы, наверное, заметили слово пи. Это ключевое слово в R, поэтому его можно использовать напрямую. # используется для комментариев. Таким образом, все, что находится справа от #, будет проигнорировано интерпретатором R.

Вы также можете использовать функцию print () для отображения данных или просто написать имя переменной.

До сих пор мы видели некоторые основные арифметические функции, теперь давайте исследуем некоторую высшую математическую алгебру, используя R.

См. также:  Xcode 11.2 запрещен в самой Apple

Матрица

Чтобы создать матрицу в R, мы используем функцию matrix (). Принимает следующие (необязательные) параметры,

  • вектор данных: значение по умолчанию = NA
  • nrow: значение по умолчанию = 1
  • ncol: значение по умолчанию = 1
  • byrow: значение по умолчанию = FALSE
  • dimnames: значение по умолчанию = NULL

вектор данных используется для предоставления списка чисел с использованием вектора в качестве данных для матрицы. Ждать ! вектор?

Вектор — это массив или последовательность данных. Эти данные могут быть числовыми, строковыми, логическими и т. Д. Но как определить вектор в R? Чтобы ответить на этот вопрос, нам нужно изучить новую функцию под названием comb или c ().

Функция комбинирования

Функция объединения представлена ​​как c (). Он объединяет последовательность данных. Чтобы лучше понять это, давайте посмотрим на примере.

> data = c(1,2,3,4)
> data
[1] 1 2 3 4

Мы предоставляем последовательность целых чисел для функции c () и сохраняем их в переменных данных. Данные уведомления теперь являются вектором. Итак, теперь мы знаем, что делают функции комбинирования и как инициируется вектор. Вернемся к другим параметрам функции matrix ().

После вектора данных у нас есть nrow и ncol, которые принимают целые числа как количество строк и столбцов соответственно. Параметр byrow сообщает интерпретатору, как значения должны быть сохранены из вектора данных. Если этот параметр не определен, значения сохраняются по принципу «сначала столбец».

Логическое значение может использоваться как ИСТИНА / ЛОЖЬ или Т / Ф

Параметр dimnames используется для указания имен строк и столбцов. В качестве параметров он принимает список с двумя векторами.

> v = c(1,2,3,4,5,6)
> data = matrix(v,nrow = 3, ncol = 2, byrow = T,dimnames = list(c("I","II","III"),c("A","B"))
> data
    A B
I   1 2
II  3 4
III 5 6
> data_2 = matrix()
> data_2
     [,1]
[1,]   NA
#As you can see without any parameter, default parameter were used.
>> data_3 = matrix(v)
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
[6,]    6
# byrow parameter is false as default. So values are inserted by column and since number of columns are not specified it takes default value as 1 for ncol.

Вектор

Есть много встроенных функций для вектора, которые могут пригодиться.

  • length (): как следует из названия, возвращает номер элемента в векторе.
  • sum (): возвращает арифметическую сумму всех элементов вектора.
  • prod (): возвращает произведение всех элементов в векторе.
  • cumsum () и cumprod (): возвращает совокупную сумму и произведение вектора.
  • sort (): по умолчанию возвращает отсортированный вектор в порядке возрастания.
  • diff (): возвращает последовательность различий между элементами вектора.
> v = c(1,-1,1)
> length(v)
[1] 3
> prod(v)
[1] -1
> sort(v)
[1] -1 1 1
> cumsum(v) # 1, 1+(-1)=0,0+1=1 => 1,0,1
[1] 1 0 1
> cumprod(v) # 1, 1*(-1)=-1, -1*(1) = -1 => 1,-1,-1
[1] 1 -1 -1
> diff(v) # (-1)-1=-2,1-(-1)=2 => -2,2
[1] -2 2

Функция diff () имеет два параметра: запаздывание и различия. По умолчанию вычитаются последовательные элементы, то есть второй элемент из первого, третий из второго и так далее. Это связано с тем, что значения по умолчанию для параметров запаздывание и различия равны 1. Параметр запаздывание принимает целочисленное значение, равное или больше 1, как аргумент. Если lag = 2, то diff () вычитает третий элемент из первого, четвертый элемент из второго и так далее. Если мы изменим параметр sizes на 2, то diff () будет выполнять различие дважды, сначала для исходного вектора, а затем при выводе первой операции diff. Давайте разберемся на примере.

> v = c(3,5,6,8)
> diff(v) # 5-3,6-5,8-6
[1] 2 1 2
> diff(v, lag=2) # 6-3,8-5
[1] 3 3
> diff(v, differences = 2) # 5-3,6-5,8-6 => 2,1,2 => 1-2,2-1
[1] -1 1

Встроенные функции для Matrix

См. также:  Демистификация переменных (Часть I)

Поскольку R является наиболее подходящим языком программирования для математиков, он обязательно должен иметь некоторые встроенные функции для тяжелой математики. Итак, R предоставляет функции для некоторых основных матричных операций, чтобы упростить нашу жизнь.

  • dim (): возвращает размеры матрицы
  • % *%: Используется для умножения двух матриц, например: A% *% B
  • t (): возвращает транспонированную матрицу
  • det (): возвращает определитель квадратной матрицы
  • решить (): возвращает инверсию матрицы

Прежде чем я оставлю вас практиковать всю эту новую информацию, которую вы только что получили, есть еще одна тема, которая может быть полезна при создании векторов или матриц.

Последовательности

Мы уже определили, как создать вектор, используя последовательность данных. Однако есть и другие способы определения последовательности.

Мы можем использовать двоеточие (:), чтобы определить последовательность как 1: 9, что будет означать последовательность целых чисел от 1 до 9.

> 1:4
[1] 1 2 3 4
> v = 1:4
> v
[1] 1 2 3 4

Усовершенствованием этого метода является функция seq (). Он также может определять инкрементное значение.

> seq(1,4,by=2)# start from 1 and increment by 2
[1] 1 3
> seq(1,5,by=3)
[1] 1 4

Иногда мы знаем начальное и конечное значение, но не знаем значение приращения, а длину вектора. seq () имеет параметр length, чтобы помочь в такой ситуации.

> seq(1,5,length=3)
[1] 1 3 5

Что, если мы хотим создать последовательность с одинаковыми числами, например 1,1,1,1,1,1. Для этой цели R предоставляет функцию rep (). Это может быть полезно для создания нулевого вектора или матрицы.

> rep(0,4)
[1] 0 0 0 0
> matrix(rep(1,4),2)
     [,1] [,2]
[1,]    1    1
[2,]    1    1

Это все, ребята. Надеюсь, вы нашли этот материал полезным. Но чтобы эту информацию усвоить, нужна практика.

Так что продолжайте практиковаться и удачного кодирования! ?

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: