วิธีใช้ฟังก์ชันมาตราส่วน () ใน r (พร้อมตัวอย่าง)


ฟังก์ชัน scale() ใน R สามารถใช้เพื่อปรับขนาดค่าในเวกเตอร์ เมทริกซ์ หรือเฟรมข้อมูล

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

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

ทอง:

  • x : ชื่อของวัตถุที่จะปรับขนาด
  • center : ว่าจะลบค่าเฉลี่ยเมื่อทำการปรับขนาดหรือไม่ ค่าเริ่มต้นคือ TRUE
  • scale : ว่าจะหารด้วยส่วนเบี่ยงเบนมาตรฐานหรือไม่เมื่อทำการปรับขนาด ค่าเริ่มต้นคือ TRUE

ฟังก์ชันนี้ใช้สูตรต่อไปนี้ในการคำนวณค่ามาตราส่วน:

สเกล x = ( เดิม x – x̄) / s

ทอง:

  • original 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: ปรับขนาดคอลัมน์ในกรอบข้อมูล

ส่วนใหญ่แล้วเราใช้ฟังก์ชัน scale() เมื่อเราต้องการปรับขนาดค่าของหลายคอลัมน์ใน data frame เพื่อให้แต่ละคอลัมน์มีค่าเฉลี่ยเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1

ตัวอย่างเช่น สมมติว่าเรามี data frame ต่อไปนี้ใน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *