วิธีปัดเศษค่าในคอลัมน์เฉพาะโดยใช้ dplyr


คุณสามารถใช้วิธีการต่อไปนี้เพื่อปัดเศษค่าในคอลัมน์เฉพาะของกรอบข้อมูลโดยใช้แพ็คเกจ dplyr ใน R:

วิธีที่ 1: ค่ากลมในคอลัมน์เฉพาะ

 library (dplyr)

#round values in 'sales' and 'returns' columns to 2 decimal places 
df_new <- df %>% mutate(across(c(' sales ', ' returns '), round, 2 ))

วิธีที่ 2: ปัดเศษค่าในคอลัมน์ตัวเลขทั้งหมด

 library (dplyr)

#round values in all numeric columns to 2 decimal places
df_new <- df %>% mutate(across(where(is. numeric ), round, 2 ))

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

 #create data frame
df <- data. frame (store=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 sales=c(4.352, 6.5543, 7.5423, 9.22111, 4.332, 9.55, 8.0094, 7.2),
                 returns=c(1.2324, 2.6654, 3.442, 6.545, 8.11, 8.004, 7.545, 6.0),
                 promos=c(12.11, 14.455, 10.277, 23.51, 20.099, 29.343, 30.1, 45.6))

#view data frame
df

  store sales returns promos
1 A 4.35200 1.2324 12.110
2 A 6.55430 2.6654 14.455
3 A 7.54230 3.4420 10.277
4 B 9.22111 6.5450 23.510
5 B 4.33200 8.1100 20.099
6 C 9.55000 8.0040 29.343
7 C 8.00940 7.5450 30.100
8 C 7.20000 6.0000 45.600

ตัวอย่างที่ 1: ค่าปัดเศษในคอลัมน์เฉพาะโดยใช้ dplyr

รหัสต่อไปนี้แสดงวิธีปัดเศษค่าในคอลัมน์ การขาย และ การคืนสินค้า เป็นทศนิยม 2 ตำแหน่ง:

 library (dplyr)

#round values in 'sales' and 'returns' columns to 2 decimal places 
df_new <- df %>% mutate(across(c(' sales ', ' returns '), round, 2 ))

#view updated data frame
df_new

  store sales returns promos
1 A 4.35 1.23 12.110
2 A 6.55 2.67 14.455
3 A 7.54 3.44 10.277
4 B 9.22 6.54 23.510
5 B 4.33 8.11 20.099
6C 9.55 8.00 29.343
7 C 8.01 7.54 30.100
8 C 7.20 6.00 45,600

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

ตัวอย่างที่ 2: ค่าปัดเศษในคอลัมน์ตัวเลขทั้งหมดโดยใช้ dplyr

รหัสต่อไปนี้แสดงวิธีการปัดเศษค่าของคอลัมน์ตัวเลขทั้งหมดให้เป็นทศนิยม 2 ตำแหน่ง:

 library (dplyr)

#round values in all numeric columns 2 decimal places 
df_new <- df %>% mutate(across(where(is. numeric ), round, 2 ))

#view updated data frame
df_new

  store sales returns promos
1 A 4.35 1.23 12.11
2 A 6.55 2.67 14.46
3 A 7.54 3.44 10.28
4 B 9.22 6.54 23.51
5 B 4.33 8.11 20.10
6C 9.55 8.00 29.34
7 C 8.01 7.54 30.10
8 C 7.20 6.00 45.60

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

ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน cross() ใน dplyr

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

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

dplyr: วิธีกลายพันธุ์ตัวแปรหากคอลัมน์มีสตริง
dplyr: วิธีเปลี่ยนระดับแฟคเตอร์โดยใช้ mutate()
dplyr: วิธีเพิ่มหลายคอลัมน์

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

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