Объекты — строительные блоки R

R для пользователей SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Объекты — строительные блоки R

  • Всё в R является объектом
  • Одиночные значения (скаляры)
  • Векторы
  • Матрицы
  • Наборы данных
  • Результаты функций

объекты abc строительные блоки

R для пользователей SAS

Работа с одиночными элементами

  • Создайте объект x
  • Присвойте x значение 4
  • Просмотрите содержимое x
  • [1] означает, что в x один элемент
  • Создайте y как квадрат x
  • Просмотрите результат, введите y
x <- 4
x
[1] 4
y <- x * x
y
[1] 16
R для пользователей SAS

Другие типы элементов

  • Присвойте y строку "fish"
  • Присвойте z логическое значение FALSE
  • Просмотрите y и z
y <- "fish"
z <- FALSE
y
z
[1] "fish"

[1] FALSE
R для пользователей SAS

Объединение элементов в вектор

# Combine three numbers
c(5, 3, 2)

три числа 5 3 2

R для пользователей SAS

Объединение элементов в вектор

# Assign numeric vector to x
x <- c(5, 3, 2)

# View result
x

Результат

[1] 5 3 2

числа 5 3 2 объединены в столбцовый вектор

R для пользователей SAS

Создание символьного вектора

# Add word child into character vector
y <- c("child")

объединение трёх слов child

R для пользователей SAS

Создание символьного вектора

# Add second word young
y <- c("child", "young")

young

R для пользователей SAS

Создание символьного вектора

# Add third word old
y <- c("child", "young", "old")

# View y
y

Результат

[1] "child" "young" "old"

old

R для пользователей SAS

Создание логического вектора

# Add TRUE into logical vector
z <- c(TRUE)
  • Первый элемент — TRUE
  • Двойные кавычки не нужны
  • Логические значения: TRUE или FALSE
  • Обязательно используйте ALL CAPS
  • Допустимы также T и F

объединение трёх логических значений true заглавными буквами

R для пользователей SAS

Создание логического вектора

# Add FALSE as second element
z <- c(TRUE, FALSE)

false заглавными буквами

R для пользователей SAS

Создание логического вектора

# Add third element TRUE
z <- c(TRUE, FALSE, TRUE)

# View z
z

Результат

[1]  TRUE FALSE TRUE

true заглавными буквами

R для пользователей SAS

Создание матрицы из векторов

#  Create numeric vector a
a <- c(5.0, 3.1, 2.4)
  • Матрица создаётся из векторов
  • Векторы должны быть одного типа и длины

первый вектор с числами 5.0 3.1 2.4

R для пользователей SAS

Создание матрицы из векторов

#  Create numeric vector a
a <- c(5.0, 3.1, 2.4)

#  Create numeric vector b
b <- c(4.1, 2.2, 5.4)

второй вектор 4.1 2.2 5.4

R для пользователей SAS

Создание матрицы из векторов

# Make m from a,b with 3 rows 2 columns
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)

# View m
m
          [,1] [,2]
     [1,]  5.0  4.1
     [2,]  3.1  2.2
     [3,]  2.4  5.4

векторы объединены в матрицу 3 строки 2 столбца

R для пользователей SAS

Создание датафрейма из векторов

# Create numeric variable score
score <- c(5.0, 3.1, 2.4)

# View score
score
     5.0 3.1 2.4
  • Датафреймы создаются из векторов
  • Векторы должны быть одинаковой длины
  • Векторы могут быть разных типов

числовой вектор со значениями 5.0 3.1 2.4

R для пользователей SAS

Создание датафрейма из векторов

# Create character variable age
age <- c("child","young","old")

# View age
age
     "child" "young" "old"

символьный вектор со словами child young old

R для пользователей SAS

Создание датафрейма из векторов

# Create logical variable test
test <- c(TRUE, FALSE, TRUE)

# View test
test
     TRUE FALSE TRUE

вектор логических значений true false true

R для пользователей SAS

Создание датафрейма из векторов

# Combine to create data frame
d <- data.frame(score, age, test)

# View data frame
d
     score   age  test
       5.0 child  TRUE
       3.1 young FALSE
       2.4   old  TRUE

три вектора объединены в датафрейм

R для пользователей SAS

Определение типа объекта

  • Создайте числовой вектор x
  • Определите class вектора x
  • Изучите структуру str вектора x
x <- c(5, 3, 2)
class(x)
 [1] "numeric"
str(x)
 num [1:3] 5 3 2
R для пользователей SAS

Определение типа объекта

  • Символьный вектор y; логический вектор z
  • Определите class векторов y и z
  • Изучите структуру str векторов y и z
str(y)
 chr [1:3] "child" "young" "old"
str(z)
 logi [1:3] TRUE FALSE TRUE
y <- c("child","young","old")
z <- c(TRUE, FALSE, TRUE)
class(y)
 [1] "character"
class(z)
 [1] "logical"
R для пользователей SAS

Определение типа объекта

  • Создайте матрицу m
  • Получите класс m
  • Изучите структуру str матрицы m
str(m)
 num [1:3, 1:2] 5 3.1 2.4 4.1 2.2 5.4
a <- c(5.0, 3.1, 2.4)
b <- c(4.1, 2.2, 5.4)
m <- matrix(c(a, b),
            nrow = 3,
            ncol = 2)
class(m)
 [1] "matrix"
R для пользователей SAS

Определение типа объекта

  • Создайте data.frame d
  • Получите class объекта d
  • Изучите структуру str объекта d
str(d)
'data.frame':    3 obs. of 3 variables:
 $ score: num  5 3.1 2.4
 $ age  : Factor w/ 3 levels
         "child","old",..: 1 3 2
 $ test : logi  TRUE FALSE TRUE
score <- c(5.0, 3.1, 2.4)
age <- c("child","young","old")
test <- c(TRUE, FALSE, TRUE)
d <- data.frame(score, age, test)
class(d)
 [1] "data.frame"
1 Тип Factor для трёх категорий возраста был создан автоматически.
R для пользователей SAS

Давайте потренируемся!

R для пользователей SAS

Preparing Video For Download...