Как масштабировать только числовые столбцы в r (с примером)
Вы можете использовать следующий синтаксис из пакета dplyr для масштабирования только числовых столбцов фрейма данных в R:
library (dplyr) df %>% mutate(across(where(is. numeric ), scale))
В следующем примере показано, как использовать эту функцию на практике.
Пример. Масштабируйте только числовые столбцы с помощью dplyr.
Предположим, у нас есть следующий кадр данных в R, содержащий информацию о различных баскетболистах:
#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
Предположим, мы хотим использовать функцию масштабирования в R для масштабирования только числовых столбцов фрейма данных.
Для этого мы можем использовать следующий синтаксис:
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
Обратите внимание, что значения в трех числовых столбцах ( очки , передачи и подборы ) были масштабированы, а столбец команды остался неизменным.
Технические примечания
Функция Scale() в R использует следующий базовый синтаксис:
scale(x, center = TRUE , scale = TRUE )
Золото:
- x : Имя объекта для масштабирования.
- center : вычитать ли среднее значение при масштабировании. По умолчанию установлено значение ИСТИНА.
- масштаб : следует ли делить на стандартное отклонение при масштабировании. По умолчанию установлено значение ИСТИНА.
Эта функция использует следующую формулу для расчета масштабированных значений:
масштабированный x = ( исходный x – x̄) / с
Золото:
- original x : Исходное значение x.
- x̄ : Образец означает
- s : стандартное отклонение выборки
Это также известно как нормализация данных, при которой каждое исходное значение просто преобразуется в z-показатель .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи с помощью dplyr:
Как выбрать столбцы по имени с помощью dplyr
Как выбрать столбцы по индексу с помощью dplyr
Как использовать select_if с несколькими условиями в dplyr