วิธีใช้ฟังก์ชันสแกนใน r (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน swep() ใน R เพื่อดำเนินการบางอย่างกับแถวหรือคอลัมน์ของเมทริกซ์

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 sweep(x, MARGIN, STATS, FUN)

ทอง:

  • x : ชื่อเมทริกซ์
  • MARGIN : ระยะขอบที่จะใช้ฟังก์ชัน (1=แถว, 2=คอลัมน์)
  • STATS : ค่าที่จะใช้ในฟังก์ชัน
  • FUN : ฟังก์ชั่นที่จะดำเนินการ

ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน swep() ในสถานการณ์ต่างๆ ใน R

ตัวอย่างที่ 1: ใช้ swep() เพื่อดำเนินการกับแถว

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน swep() เพื่อเพิ่มตัวเลขเฉพาะให้กับค่าในแต่ละแถวของเมทริกซ์:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each row
sweep(mat, 1 , c(5, 10, 15, 20, 25), " + ")

     [,1] [,2] [,3]
[1,] 6 11 16
[2,] 12 17 22
[3,] 18 23 28
[4,] 24 29 34
[5,] 30 35 40

ต่อไปนี้เป็นวิธีการทำงานของฟังก์ชัน swep() ในสถานการณ์นี้:

  • เพิ่ม 5 ลงในแต่ละค่าในบรรทัดแรก
  • เพิ่ม 10 ในแต่ละค่าในบรรทัดที่สอง
  • เพิ่ม 15 ลงในแต่ละค่าในแถวที่สาม
  • เพิ่ม 20 ลงในแต่ละค่าในแถวที่สี่
  • เพิ่ม 25 ลงในแต่ละค่าในแถวที่ห้า

โปรดทราบว่าในตัวอย่างนี้ เราใช้การบวก (+) เป็นการดำเนินการทางคณิตศาสตร์ในการดำเนินการ แต่เราสามารถเลือกใช้การดำเนินการอื่นได้

ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีคูณค่าในแต่ละแถวด้วยตัวเลขบางตัว:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#multiply values in each row by certain amount
sweep(mat, 1 , c(.5, 1, 2, 4, 6), " * ")

     [,1] [,2] [,3]
[1,] 0.5 3 5.5
[2,] 2.0 7 12.0
[3,] 6.0 16 26.0
[4,] 16.0 36 56.0
[5,] 30.0 60 90.0

ตัวอย่างที่ 2: ใช้การสแกน () เพื่อ ดำเนินการกับคอลัมน์

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน swep() เพื่อเพิ่มตัวเลขเฉพาะให้กับค่าในแต่ละคอลัมน์ของเมทริกซ์:

 #define matrix
mat <- matrix(1:15, nrow= 5 )

#view matrix
mast

     [,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15

#add specific numbers to each column
sweep(mat, 2 , c(5, 10, 15), " + ")

     [,1] [,2] [,3]
[1,] 6 16 26
[2,] 7 17 27
[3,] 8 18 28
[4,] 9 19 29
[5,] 10 20 30

ต่อไปนี้เป็นวิธีการทำงานของฟังก์ชัน swep() ในสถานการณ์นี้:

  • เพิ่ม 5 ลงในแต่ละค่าในคอลัมน์แรก
  • เพิ่ม 10 ลงในแต่ละค่าในคอลัมน์ที่สอง
  • เพิ่ม 15 ลงในแต่ละค่าในคอลัมน์ที่สาม

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

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

วิธีสร้างเมทริกซ์ว่างใน R
วิธีแปลงดาต้าเฟรมเป็นเมทริกซ์ใน R
วิธีการพล็อตแถวของเมทริกซ์ใน R

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

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