วิธีใช้ฟังก์ชัน map() ใน r (พร้อมตัวอย่าง)
ฟังก์ชัน map() ของแพ็คเกจ purrr ใน R สามารถใช้ฟังก์ชันกับแต่ละองค์ประกอบของเวกเตอร์หรือรายการ และส่งคืนรายการตามนั้น
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
แผนที่(.x, .f)
ทอง:
- .x : เวกเตอร์หรือรายการ
- .f : ฟังก์ชัน
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชันนี้ในสถานการณ์ต่างๆ
ตัวอย่างที่ 1: ใช้ map() เพื่อสร้างตัวแปรสุ่ม
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน map() เพื่อสร้างตัวแปรสุ่ม 3 ตัว โดยแต่ละตัวจะมีค่า 5 ค่าที่เป็นไปตามการแจกแจงแบบปกติมาตรฐาน:
library (purrr)
#definevector
data <- 1:3
#apply rnorm() function to each value in vector
data %>%
map( function (x) rnorm(5, x))
[[1]]
[1] 0.0556774 1.8053082 2.6489861 2.2640136 1.1062672
[[2]]
[1] 1.450175 1.123048 3.413677 3.055304 2.713801
[[3]]
[1] 2.936732 2.157129 3.693738 2.994391 2.567040
สำหรับแต่ละองค์ประกอบของเวกเตอร์ดั้งเดิม ฟังก์ชัน map() ใช้ฟังก์ชัน rnorm() เพื่อสร้างค่าสุ่มห้าค่าจาก การแจกแจงแบบปกติมาตรฐาน
ตัวอย่างที่ 2: ใช้ map() เพื่อแปลงแต่ละค่าให้เป็นเวกเตอร์
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน map() เพื่อคำนวณกำลังสองของแต่ละค่าในเวกเตอร์:
library (purrr)
#definevector
data <- c(2, 4, 10, 15, 20)
#calculate square of each value in the vector
data %>%
map( function (x) x^2)
[[1]]
[1] 4
[[2]]
[1] 16
[[3]]
[1] 100
[[4]]
[1] 225
[[5]]
[1] 400
สำหรับแต่ละองค์ประกอบของเวกเตอร์ดั้งเดิม ฟังก์ชัน map() จะใช้ฟังก์ชันที่คำนวณกำลังสองของแต่ละค่า
ตัวอย่างที่ 3: ใช้ map() เพื่อคำนวณค่าเฉลี่ยของเวกเตอร์แต่ละตัวในรายการ
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน map() เพื่อคำนวณค่าเฉลี่ยของเวกเตอร์แต่ละตัวในรายการ:
library (purrr)
#define list of vectors
data <- list(c(1, 2, 3),
c(4, 5, 6),
c(7, 8, NA))
#calculate mean value of each vector in list
data %>%
map(mean, na. rm = TRUE )
[[1]]
[1] 2
[[2]]
[1] 5
[[3]]
[1] 7.5
สำหรับเวกเตอร์แต่ละตัวในรายการ ฟังก์ชัน map() จะคำนวณค่าเฉลี่ย
จากผลลัพธ์เราจะเห็นได้ว่า:
- ค่าเฉลี่ยของเวกเตอร์แรกในรายการคือ 2
- ค่าเฉลี่ยของเวกเตอร์ที่สองในรายการคือ 5
- ค่าเฉลี่ยของเวกเตอร์ที่สามในรายการคือ 7.5
หมายเหตุ : อาร์กิวเมนต์ na.rm=TRUE บอกให้ R ละเว้นค่า NA เมื่อคำนวณค่าเฉลี่ย
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:
วิธีใช้ฟังก์ชัน tapply() ใน R
วิธีใช้ฟังก์ชัน dim() ใน R
วิธีใช้ฟังก์ชัน table() ใน R
วิธีใช้ฟังก์ชัน sign() ใน R