R에서 scale() 함수를 사용하는 방법(예제 포함)
R의 scale() 함수는 벡터, 행렬 또는 데이터 프레임의 값을 확장하는 데 사용할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
scale(x, center = TRUE , scale = TRUE )
금:
- x : 크기를 조정할 객체의 이름
- center : scale시 평균을 뺄지 여부. 기본값은 TRUE입니다.
- scale : 스케일링 시 표준편차로 나눌지 여부입니다. 기본값은 TRUE입니다.
이 함수는 다음 공식을 사용하여 조정된 값을 계산합니다.
스케일링된 x = ( 원래 x – x̄) / s
금:
- 원래 x : 원래 x 값
- x̄ : 표본의 의미
- s : 표본의 표준편차
이는 단순히 각 원래 값을 z-점수 로 변환하는 데이터 정규화 라고도 합니다.
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예시 1: 벡터의 값 스케일링
R에 다음과 같은 값 벡터가 있다고 가정합니다.
#define vector of values x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9) #view mean and standard deviation of values mean(x) [1] 5 sd(x) [1] 2.738613
다음 코드는 scale() 함수를 사용하여 벡터 값의 크기를 조정하는 방법을 보여줍니다.
#scale the values of x x_scaled <- scale(x) #view scaled values x_scaled [,1] [1,] -1.4605935 [2,] -1.0954451 [3,] -0.7302967 [4,] -0.3651484 [5,] 0.0000000 [6,] 0.3651484 [7,] 0.7302967 [8,] 1.0954451 [9,] 1.4605935
각 조정된 값이 계산된 방법은 다음과 같습니다.
- 값 1: (1 – 5) / 2.738613 = -1.46
- 값 2: (2 – 5) / 2.738613 = -1.09
- 값 3: (3 – 5) / 2.738613 = -0.73
등등.
scale=FALSE를 지정하면 스케일링 시 함수가 표준 편차로 나누어지지 않습니다.
#scale the values of x but don't divide by standard deviation x_scaled <- scale(x, scale = FALSE ) #view scaled values x_scaled [,1] [1,] -4 [2,] -3 [3,] -2 [4,] -1 [5,] 0 [6,] 1 [7,] 2 [8,] 3 [9,] 4
각 조정된 값이 계산된 방법은 다음과 같습니다.
- 값 1: 1 – 5 = -4
- 값 2: 2 – 5 = -3
- 값 3: 3 – 5 = -2
등등.
예시 2: 데이터 프레임의 열 값 크기 조정
가장 자주, 우리는 각 열의 평균이 0이고 표준편차가 1이 되도록 데이터 프레임의 여러 열 값을 조정하려고 할 때 scale() 함수를 사용합니다.
예를 들어 R에 다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9), y=c(10, 20, 30, 40, 50, 60, 70, 80, 90)) #view data frame df xy 1 1 10 2 2 20 3 3 30 4 4 40 5 5 50 6 6 60 7 7 70 8 8 80 9 9 90
y 변수의 값 범위는 x 변수의 값 범위보다 훨씬 큽니다.
scale() 함수를 사용하여 x와 y의 스케일링된 값이 모두 평균 0, 표준편차 1을 갖도록 두 열의 값을 스케일링할 수 있습니다.
#scale values in each column of data frame df_scaled <- scale(df) #view scaled data frame df_scaled xy [1,] -1.4605935 -1.4605935 [2,] -1.0954451 -1.0954451 [3,] -0.7302967 -0.7302967 [4,] -0.3651484 -0.3651484 [5,] 0.0000000 0.0000000 [6,] 0.3651484 0.3651484 [7,] 0.7302967 0.7302967 [8,] 1.0954451 1.0954451 [9,] 1.4605935 1.4605935
이제 x 및 y 열의 평균은 0이고 표준 편차는 1입니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.