R에서 scale() 함수를 사용하는 방법(예제 포함)


R의 scale() 함수는 벡터, 행렬 또는 데이터 프레임의 값을 확장하는 데 사용할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

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

금:

  • x : 크기를 조정할 객체의 이름
  • center : scale시 평균을 뺄지 여부. 기본값은 TRUE입니다.
  • scale : 스케일링 시 표준편차로 나눌지 여부입니다. 기본값은 TRUE입니다.

이 함수는 다음 공식을 사용하여 조정된 값을 계산합니다.

스케일링된 x = ( 원래 x – x̄) / s

금:

  • 원래 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에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 데이터를 정규화하는 방법
R에서 데이터를 표준화하는 방법
R의 열을 평균하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다