Como usar a função make.names em r (com exemplos)


Você pode usar a função make.names em R para criar nomes sintaticamente válidos a partir de vetores de caracteres.

Esta função usa a seguinte sintaxe básica:

 make.names(names, unique = FALSE)

Ouro:

  • nomes : vetor de caracteres para restringir nomes sintaticamente válidos.
  • exclusivo : se deve ou não criar nomes exclusivos. O valor padrão é falso.

Os exemplos a seguir mostram como usar essa função em diferentes cenários.

Exemplo 1: Crie nomes válidos para o vetor

Suponha que temos o seguinte vetor de valores numéricos:

 #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 define “nomes válidos” como nomes que começam com um caractere ou ponto final.

Assim, para converter cada um dos valores numéricos do vetor em um nome válido, R simplesmente adiciona um “X” na frente de cada valor.

Observe que dois dos nomes (“X1”) são exatamente iguais.

Para forçar os nomes a serem exclusivos, podemos especificar 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"

Observe que cada nome agora é único.

Exemplo 2: Crie nomes válidos para Matrix

Suponha que temos a seguinte matriz em R:

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

#view matrix
mast

     [,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

Observe que a matriz atualmente não possui nomes de colunas.

No entanto, podemos usar a função make.names() para criar nomes de colunas rapidamente:

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

#view updated matrix
mast

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

Observe que a matriz agora tem “X1” e “X2” como nomes de colunas.

Se quisermos, podemos agora extrair os valores de uma coluna específica da matriz usando o nome da coluna:

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

[1] 1 2 3 7 2

Observe também que você pode digitar o seguinte em R para ler a documentação completa sobre como criar nomes sintaticamente válidos:

 ?make.names

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como alterar os nomes das linhas em R
Como iterar sobre nomes de colunas em R
Como usar a função de nomes em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *