Como dimensionar apenas colunas numéricas em r (com exemplo)


Você pode usar a seguinte sintaxe do pacote dplyr para dimensionar apenas as colunas numéricas de um quadro de dados em R:

 library (dplyr)

df %>% mutate(across(where(is. numeric ), scale))

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: dimensionar apenas colunas numéricas usando dplyr

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 dots=c(22, 34, 30, 12, 18),
                 assists=c(7, 9, 9, 12, 14),
                 rebounds=c(5, 10, 10, 8, 8))

#view data frame
df

  team points assists rebounds
1 to 22 7 5
2 B 34 9 10
3 C 30 9 10
4 D 12 12 8
5 E 18 14 8

Suponha que queiramos usar a função de escala em R para dimensionar apenas as colunas numéricas do quadro de dados.

Podemos usar a seguinte sintaxe para fazer isso:

 library (dplyr)

#scale only the numeric columns in the data frame
df %>% mutate(across(where(is. numeric ), scale))

  team points assists rebounds
1 A -0.1348400 -1.153200 -1.56144012
2 B 1.2135598 -0.432450 0.87831007
3 C 0.7640932 -0.432450 0.87831007
4 D -1.2585064 0.648675 -0.09759001
5 E -0.5843065 1.369425 -0.09759001

Observe que os valores nas três colunas numéricas ( pontos , assistências e rebotes ) foram escalonados enquanto a coluna equipe permaneceu inalterada.

Notas técnicas

A função scale() em R usa a seguinte sintaxe básica:

 scale(x, center = TRUE , scale = TRUE )

Ouro:

  • x : Nome do objeto a ser dimensionado
  • centro : se deve subtrair a média ao dimensionar. O padrão é verdadeiro.
  • escala : se deve ser dividido pelo desvio padrão ao dimensionar. O padrão é verdadeiro.

Esta função usa a seguinte fórmula para calcular valores em escala:

escalado x = ( original x – x̄) / s

Ouro:

  • x original : O valor x original
  • : A amostra significa
  • s : o desvio padrão da amostra

Isso também é conhecido como normalização de dados, que simplesmente converte cada valor original em um z-score .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns usando dplyr:

Como selecionar colunas por nome usando dplyr
Como selecionar colunas por índice usando dplyr
Como usar select_if com múltiplas condições no dplyr

Add a Comment

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