R — это язык программирования и программная среда для статистического анализа, графического представления и отчетности. R был создан Россом Ихакой и Робертом Джентльменом.
Особенности R
-
R — это хорошо разработанный, простой и эффективный язык программирования, который включает в себя условные обозначения, циклы, рекурсивные функции, определяемые пользователем, а также средства ввода и вывода.
-
R имеет эффективные средства обработки и хранения данных
-
R предоставляет набор операторов для вычислений над массивами, списками, векторами и матрицами.
-
R предоставляет большую, согласованную и интегрированную коллекцию инструментов для анализа данных.
Простая программа в командной строке R
> myString <- "Hello, World!"
> print ( myString)
[1] "Hello, World!"
Комментарии в R
# My first program in R Programming
Переменные
В отличие от других языков программирования, таких как C и java, в R переменные не объявляются как некоторый тип данных.
Переменным присваиваются R-объекты, и тип данных R-объекта становится типом данных переменной.
- Векторы
- Списки
- Матрицы
- Массивы
- Факторы
- Рамки данных
Векторы
Когда вы хотите создать вектор с более чем одним элементом, вы должны использовать функцию c(), которая означает объединение элементов в вектор.
Векторы — это самые базовые объекты данных R. Существует шесть типов атомарных векторов. Это логический, целочисленный, двойной, комплексный, символьный и сырой.
# Atomic vector of type character.
print("abc");
# Atomic vector of type double.
print(12.5)
# Atomic vector of type integer.
print(63L)
# Atomic vector of type logical.
print(TRUE)
# Atomic vector of type complex.
print(2+3i)
# Atomic vector of type raw.
print(charToRaw('hello'))
# Create a vector.
apple <- c('red','green',"yellow")
print(apple)
# Get the class of the vector.
print(class(apple))
Списки
Список — это R-объект, который может содержать множество различных типов элементов, таких как векторы, функции и даже другой список.
# Create a list containing strings, numbers, vectors and a logical
# values.
list_data <- list("Red", "Green", c(21,32,11), TRUE, 51.23, 119.1)
print(list_data)
# Create a list.
list1 <- list(c(2,5,3),21.3,sin)
# Print the list.
print(list1)
Матрицы
Матрица — это двумерный прямоугольный набор данных. Она может быть создана с помощью вектора, введенного в матричную функцию.
byrow — это логическая подсказка. Если TRUE, то элементы входного вектора упорядочиваются по строкам.
dimname — имена, присвоенные строкам и столбцам.
# Create a matrix.
P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))
print(P)
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)
Массивы
В то время как матрицы ограничены двумя измерениями, массивы могут иметь любое количество измерений.
# Create an array. an array with two elements which are 3x3 matrices each.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)
Факторы
Факторы — это r-объекты, которые создаются с помощью вектора. Он хранит вектор вместе с различными значениями элементов вектора в виде меток. Метки всегда символьные, независимо от того, является ли входной вектор числовым, символьным, булевым и т. д. Они полезны при статистическом моделировании.
Факторы создаются с помощью функции factor(). Функция nlevels позволяет подсчитать количество уровней.
# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')
# Create a factor object.
factor_apple <- factor(apple_colors)
# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))
Фреймы данных
Фреймы данных — это табличные объекты данных. В отличие от матрицы во фрейме данных каждый столбец может содержать различные режимы данных. Первый столбец может быть числовым, второй — символьным, третий — логическим. Он представляет собой список векторов одинаковой длины.
Каркасы данных создаются с помощью функции data.frame().
# Create the data frame.
BMI <- data.frame(
gender = c("Male", "Male","Female"),
height = c(152, 171.5, 165),
weight = c(81,93, 78),
Age = c(42,38,26)
)
print(BMI)
Типы операторов
В программировании на языке R существуют следующие типы операторов —
- Арифметические операторы
- Реляционные операторы
- Логические операторы
- Операторы присваивания
- Разные операторы
Принятие решений
операторы if, if-else и switch
Циклы
- повтор
- while
- цикл for
функции
Функция — это набор операторов, организованных вместе для выполнения определенной задачи. В R имеется большое количество встроенных функций, и пользователь может создавать свои собственные функции.
Определение функции
Функция R создается с помощью ключевого слова function. Основной синтаксис определения функции R выглядит следующим образом —
function_name <- function(arg_1, arg_2, ...) {
Function body
}
Встроенная функция
# Create a sequence of numbers from 32 to 44.
print(seq(32,44))
# Find mean of numbers from 25 to 82.
print(mean(25:82))
# Find sum of numbers frm 41 to 68.
print(sum(41:68))
Функция, заданная пользователем
new.function <- function(a) {
for(i in 1:a) {
b <- i^2
print(b)
}
}
Строки
- Кавычки в начале и конце строки должны быть как двойными, так и одинарными. Они не могут быть смешаны.
- Двойные кавычки могут быть вставлены в строку, начинающуюся и заканчивающуюся одинарной кавычкой.
- Одинарные кавычки могут быть вставлены в строку, начинающуюся и заканчивающуюся двойными кавычками.
- Двойные кавычки не могут быть вставлены в строку, начинающуюся и заканчивающуюся двойными кавычками.
- Одинарная кавычка не может быть вставлена в строку, начинающуюся и заканчивающуюся одинарной кавычкой.
a <- 'Start and end with single quote'
print(a)
b <- "Start and end with double quotes"
print(b)
c <- "single quote ' in between double quotes"
print(c)
d <- 'Double quotes " in between single quote'
print(d)
Пакеты R
Пакеты R — это коллекция функций R, готового кода и примеров данных. Они хранятся в каталоге под названием «library» в среде R. По умолчанию R устанавливает набор пакетов во время инсталляции.
Спасибо за чтение…