วิธีใช้ฟังก์ชัน dplyr transmute ใน r (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน transmute() ใน R เพื่อเพิ่มตัวแปรจากการคำนวณใหม่ลงในกรอบข้อมูลและลบตัวแปรที่มีอยู่ออกได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
df %>% transmute(var_new = var1 * 2)
ในตัวอย่างนี้ ตัวแปรใหม่ชื่อ var_new จะถูกสร้างขึ้นโดยการคูณตัวแปรที่มีอยู่ชื่อ var1 ด้วย 2
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน transmute() กับกรอบข้อมูลต่อไปนี้ใน R:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data frame
df
team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28
ตัวอย่างที่ 1: ใช้ transmute() เพื่อสร้างตัวแปรใหม่
รหัสต่อไปนี้แสดงวิธีการใช้ transmute() เพื่อสร้างตัวแปรใหม่:
library (dplyr)
#create new variable called points2
df %>% transmute(points2 = points * 2)
points2
1,198
2,180
3,172
4,176
5,190
ค่า Point2 เท่ากับค่าเดิมของคอลัมน์ point คูณด้วยสอง
โปรดทราบว่าฟังก์ชัน transmute() ไม่ได้แก้ไขกรอบข้อมูลดั้งเดิมจริงๆ
หากต้องการบันทึกผลลัพธ์ของฟังก์ชัน transmute() ใน data frame ใหม่ คุณต้องจัดเก็บไว้ในตัวแปร:
library (dplyr)
#store results of transmute in variable
df_points2 <- df %>% transmute(points2 = points * 2)
#view results
df_points2
points2
1,198
2,180
3,172
4,176
5,190
ตอนนี้ผลลัพธ์ของ transmute() จะถูกจัดเก็บไว้ในกรอบข้อมูลใหม่
ตัวอย่างที่ 2: ใช้ transmute() เพื่อสร้างตัวแปรใหม่หลายตัว
รหัสต่อไปนี้แสดงวิธีการใช้ transmute() เพื่อสร้างตัวแปรใหม่หลายตัวจากตัวแปรที่มีอยู่:
library (dplyr)
#create multiple new variables
df %>%
transmute(
points2 = points * 2,
rebounds_squared = rebounds^2,
assists_half = assists/2,
team_name= paste0(' team_ ', team)
)
points2 rebounds_squared assists_half team_name
1,198,900 16.5 team_A
2 180 784 14.0 team_B
3 172 576 15.5 team_C
4 176 576 19.5 team_D
5 190 784 17.0 team_E
โปรดทราบว่ามีการสร้างตัวแปรใหม่สี่ตัวแปร
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:
วิธีใช้ฟังก์ชัน relocate() ใน dplyr
วิธีใช้ฟังก์ชัน Slice() ใน dplyr
วิธีกรองตามหมายเลขบรรทัดใน dplyr