วิธีการคำนวณอัตราส่วนใน r (พร้อมตัวอย่าง)


คุณสามารถใช้วิธีต่อไปนี้เพื่อคำนวณอัตราส่วนระหว่างค่าของสองคอลัมน์ใน R:

วิธีที่ 1: ใช้ Base R

 #calculate ratio between variable1 and variable2
df$ratio <- df$variable1/df$variable1

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df$ratio <- round(df$variable1/df$variable2, 2 )

วิธีที่ 2: ใช้ dplyr

 library (dplyr)

#calculate ratio between variable1 and variable2
df <- df %>%
        mutate(ratio = variable1/variable2)

#calculate ratio between variable1 and variable2, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(variable1/variable2, 2 ))

บทช่วยสอนนี้จะอธิบายวิธีใช้แต่ละวิธีในทางปฏิบัติด้วยกรอบข้อมูลต่อไปนี้ซึ่งแสดงจำนวนช็อตทั้งหมดที่ยิงและพยายามโดยผู้เล่นบาสเก็ตบอลที่แตกต่างกัน:

 #create data frame
df <- data. frame (players=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 makes=c(4, 4, 3, 6, 7, 8, 3, 10),
                 attempts=c(12, 7, 5, 6, 10, 12, 5, 19))

#view data frame
df

  players makes attempts
1 to 4 12
2 B 4 7
3 C 3 5
4 D 6 6
5 E 7 10
6 F 8 12
7 G 3 5
8:10:19 a.m.

ตัวอย่างที่ 1: คำนวณอัตราส่วนโดยใช้ฐาน R

รหัสต่อไปนี้แสดงวิธีคำนวณอัตราส่วนระหว่างค่าของ เครื่องหมาย และคอลัมน์ ความพยายาม โดยใช้ฐาน R:

 #calculate ratio between makes and attempts columns
df$ratio <- df$makes/df$attempts

#view updated data frame
df

  players makes attempts ratio
1 A 4 12 0.3333333
2 B 4 7 0.5714286
3 C 3 5 0.6000000
4 D 6 6 1.0000000
5 E 7 10 0.7000000
6 F 8 12 0.6666667
7 G 3 5 0.6000000
8:10:19 AM 0.5263158

อัตราส่วน ความพยายาม ใน ความพยายาม ของผู้เล่นคนแรกคือ 4/12 = 0.33

กล่าวอีกนัยหนึ่ง ผู้เล่นคนแรกทำได้ประมาณ 33% ของความพยายามในการยิงของเขา

เราสามารถตีความค่าอัตราส่วนของผู้เล่นคนอื่นๆ ทั้งหมดได้ในลักษณะเดียวกัน

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน round() เพื่อปัดเศษค่าอัตราส่วนให้เป็นทศนิยมจำนวนหนึ่งได้:

 #calculate ratio between makes and attempts columns, rounded to 2 decimal places
df$ratio <- round(df$makes/df$attempts, 2 )

#view updated data frame
df

  players makes attempts ratio
1 to 4 12 0.33
2 B 4 7 0.57
3 C 3 5 0.60
4 D 6 6 1.00
5 E 7 10 0.70
6 F 8 12 0.67
7 G 3 5 0.60
8:10:19 0.53

ตอนนี้ค่าแต่ละค่าในคอลัมน์ อัตราส่วน จะถูกปัดเศษเป็นทศนิยมสองตำแหน่ง

ตัวอย่างที่ 2: คำนวณอัตราส่วนโดยใช้ dplyr

รหัสต่อไปนี้แสดงวิธีคำนวณอัตราส่วนระหว่างค่าในคอลัมน์ เครื่องหมาย และ ความพยายาม โดยใช้แพ็คเกจ dplyr :

 library (dplyr)

#add new column that shows ratio of makes to attempts
df <- df %>%
        mutate(ratio = makes/attempts)

#view updated data frame
df

  players makes attempts ratio
1 A 4 12 0.3333333
2 B 4 7 0.5714286
3 C 3 5 0.6000000
4 D 6 6 1.0000000
5 E 7 10 0.7000000
6 F 8 12 0.6666667
7 G 3 5 0.6000000
8:10:19 AM 0.5263158

นอกจากนี้เรายังสามารถใช้ฟังก์ชัน round() เพื่อปัดเศษค่าอัตราส่วนให้เป็นทศนิยมจำนวนหนึ่งได้:

 library (dplyr)

#add new column that shows ratio of makes to attempts, rounded to 2 decimal places
df <- df %>%
        mutate(ratio = round(makes/attempts, 2 ))

#view updated data frame
df

  players makes attempts ratio
1 to 4 12 0.33
2 B 4 7 0.57
3 C 3 5 0.60
4 D 6 6 1.00
5 E 7 10 0.70
6 F 8 12 0.67
7 G 3 5 0.60
8:10:19 0.53

ตอนนี้ค่าแต่ละค่าในคอลัมน์ อัตราส่วน จะถูกปัดเศษเป็นทศนิยมสองตำแหน่ง

โปรดทราบว่าวิธี base R และวิธี dplyr ให้ผลลัพธ์ที่เหมือนกัน

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

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

วิธีกรองค่าที่ไม่ซ้ำโดยใช้ dplyr
วิธีกรองตามเงื่อนไขต่างๆ โดยใช้ dplyr
วิธีนับจำนวนครั้งที่เกิดขึ้นในคอลัมน์ใน R

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

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