วิธีใช้ฟังก์ชัน 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

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

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