Как использовать функцию make.names в R (с примерами)


Вы можете использовать функцию make.names в R для создания синтаксически допустимых имен из векторов символов.

Эта функция использует следующий базовый синтаксис:

make.names(names, unique = FALSE)

куда:

  • имена : Вектор символов, который будет приведен к синтаксически допустимым именам.
  • unique : создавать или нет уникальные имена. По умолчанию ЛОЖЬ.

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

Пример 1: создание допустимых имен для вектора

Предположим, у нас есть следующий вектор числовых значений:

#create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make. names (numeric_values)

[1] "X1" "X1" "X4" "X7" "X8"

R определяет «допустимые имена» как имена, начинающиеся с символа или точки.

Таким образом, чтобы преобразовать каждое числовое значение в векторе в допустимое имя, R просто добавляет «X» перед каждым значением.

Обратите внимание, что два имени («X1») абсолютно одинаковы.

Чтобы имена были уникальными, мы можем указать unique=TRUE :

#create vector of numeric values
numeric_values <- c(1, 1, 4, 7, 8)

#create syntactically valid names from numeric values
make. names (numeric_values, unique= TRUE )

[1] "X1" "X1.1" "X4" "X7" "X8"

Обратите внимание, что каждое имя теперь уникально.

Пример 2: создание допустимых имен для матрицы

Предположим, у нас есть следующая матрица в R:

#create matrix
mat <- matrix(c(1, 2, 3, 7, 2, 4, 4, 6, 0, 1), ncol= 2 )

#view matrix
mat

 [,1] [,2]
[1,] 1 4
[2,] 2 4
[3,] 3 6
[4,] 7 0
[5,] 2 1

#view column names of matrix
colnames(mat)

NULL

Обратите внимание, что в настоящее время матрица не имеет имен столбцов.

Однако мы можем использовать функцию make.names() для быстрого создания имен столбцов:

#create column names for matrix
colnames(mat) <- make. names (1:ncol(mat))

#view updated matrix
mat

 X1 X2
[1,] 1 4
[2,] 2 4
[3,] 3 6
[4,] 7 0
[5,] 2 1

Обратите внимание, что в матрице теперь есть «X1» и «X2» в качестве имен столбцов.

При желании теперь мы можем извлечь значения из определенного столбца в матрице, используя имя столбца:

#view values in "X1" column of matrix
mat[, 'X1']

[1] 1 2 3 7 2

Также обратите внимание, что вы можете ввести в R следующее, чтобы прочитать полную документацию о том, как создавать синтаксически допустимые имена:

?make.names

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как изменить имена строк в R
Как перебрать имена столбцов в R
Как использовать функцию имен в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.