วิธีปรับขนาดค่าระหว่าง 0 ถึง 1 ใน r


คุณสามารถใช้วิธีการต่อไปนี้เพื่อปรับขนาดค่าของตัวแปรระหว่าง 0 ถึง 1 ใน R:

วิธีที่ 1: ใช้ฐาน R

 #define function to scale values between 0 and 1
scale_values <- function (x){(x-min(x))/(max(x)-min(x))}

x_scaled <- rescale(x)

วิธีที่ 2: ใช้แพ็คเกจเครื่องชั่ง

 library (scales)

x_scaled <- rescale(x)

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้ใน R:

 #create data frame
df <- data. frame (store=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 sales=c(12, 24, 23, 59, 45, 34, 50, 77))

#view data frame
df

  blind sales
1 to 12
2 B 24
3 C 23
4 D 59
5 E 45
6 F 34
7 G 50
8:77 a.m.

ตัวอย่างที่ 1: สเกลค่าระหว่าง 0 ถึง 1 โดยใช้ฐาน R

รหัสต่อไปนี้แสดงวิธีกำหนดฟังก์ชันที่กำหนดเองในฐาน R จากนั้นใช้ฟังก์ชันเพื่อปรับขนาดค่าในคอลัมน์ การขาย ของกรอบข้อมูลระหว่าง 0 ถึง 1:

 #define function to scale values between 0 and 1
scale_values <- function (x){(x-min(x))/(max(x)-min(x))}

#scale values in 'sales' column to be between 0 and 1
df$sales <- scale_values(df$sales)

#view updated data frame
df

  blind sales
1 A 0.0000000
2 B 0.1846154
3 C 0.1692308
4 D 0.7230769
5 E 0.5076923
6 F 0.3384615
7G 0.5846154
8 H 1.0000000

ตอนนี้ค่าแต่ละค่าในคอลัมน์ ยอดขาย จะถูกปรับขนาดระหว่าง 0 ถึง 1

ฟังก์ชันนี้ใช้สูตรต่อไปนี้เพื่อปรับขนาดแต่ละค่า:

  • ค่ามาตราส่วน = (ค่า – ค่าต่ำสุด) / (ค่าสูงสุด – ค่าต่ำสุด)

ตัวอย่างเช่น ค่าที่ปรับขนาดสำหรับยอดขายของร้านค้า A ได้รับการคำนวณดังนี้:

  • ค่ามาตราส่วน = (12 – 12) / (77 – 12) = 0 / 65 = 0

ในทำนองเดียวกัน มูลค่าปัจจุบันของยอดขายของร้านค้า B ได้รับการคำนวณดังนี้

  • ค่ามาตราส่วน = (24 – 12) / (77 – 12) = 12 / 65 = 0.1846

และอื่นๆ

ตัวอย่างที่ 2: ค่ามาตราส่วนระหว่าง 0 ถึง 1 โดยใช้แพ็คเกจ Scales

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน rescale() ของแพ็คเกจ สเกล ใน R เพื่อปรับขนาดค่าในคอลัมน์ การขาย ของกรอบข้อมูลให้อยู่ระหว่าง 0 ถึง 1:

 library (scales)

#scale values in 'sales' column to be between 0 and 1
df$sales <- rescale(df$sales)

#view updated data frame
df

  blind sales
1 A 0.0000000
2 B 0.1846154
3 C 0.1692308
4 D 0.7230769
5 E 0.5076923
6 F 0.3384615
7G 0.5846154
8 H 1.0000000

ตอนนี้ค่าแต่ละค่าในคอลัมน์ ยอดขาย จะถูกปรับขนาดระหว่าง 0 ถึง 1

โปรดทราบว่าค่าที่ปรับขนาดเหล่านี้สอดคล้องกับค่าที่คำนวณโดยใช้วิธีฐาน R

โปรดทราบว่าฟังก์ชัน rescale() ยอมรับอาร์กิวเมนต์ to ที่ ระบุช่วงของค่าที่ปรับขนาด

ตัวอย่างเช่น คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อปรับขนาดค่าในคอลัมน์ ยอดขาย ระหว่าง 0 ถึง 100:

 library (scales)

#scale values in 'sales' column to be between 0 and 100
df$sales <- rescale(df$sales, to=c(0,100))

#view updated data frame
df

  blind sales
1 A 0.00000
2 B 18.46154
3 C 16.92308
4 D 72.30769
5 E 50.76923
6 F 33.84615
7G 58.46154
8 A.M. 100.00000

ตอนนี้ค่าแต่ละค่าในคอลัมน์ ยอดขาย จะถูกปรับขนาดระหว่าง 0 ถึง 100

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:

วิธีการคำนวณค่าเฉลี่ยที่ถูกตัดแต่งใน R
วิธีการคำนวณค่าเฉลี่ยถ่วงน้ำหนักใน R
วิธีคำนวณค่าสูงสุดในแต่ละแถวใน R

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

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