วิธีการคำนวณชุดค่าผสมและการพีชคณิตใน r


คุณสามารถใช้ฟังก์ชันต่อไปนี้เพื่อคำนวณชุดค่าผสมและการเรียงสับเปลี่ยนใน R:

 #calculate total combinations of size r from n total objects
choose (n,r)

#calculate total permutations of size r from n total objects
choose (n, r) * factorial (r)

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละฟังก์ชันเหล่านี้ในทางปฏิบัติ

ตัวอย่างที่ 1: คำนวณชุดค่าผสมทั้งหมด

การรวมกัน แสดงถึงวิธีการเลือกตัวอย่างจากกลุ่มของวัตถุโดยที่ ลำดับของวัตถุไม่สำคัญ

ตัวอย่างเช่น สมมติว่าเรามีถุงลูกแก้วสี่ลูก: แดง น้ำเงิน เขียว และเหลือง สมมติว่าเราต้องการเลือกลูกหินสองลูกโดยการสุ่มจากถุง โดยไม่ต้องเปลี่ยนลูกหินใหม่

นี่คือการผสมผสานของลูกบอลต่างๆ ที่เราสามารถเลือกได้:

  • {สีแดงสีฟ้า}
  • {แดงเขียว}
  • {แดงเหลือง}
  • {ฟ้าเขียว}
  • {ฟ้าเหลือง}
  • {เขียวเหลือง}

มีทั้งหมด 6 ชุดด้วยกัน

ต่อไปนี้เป็นวิธีคำนวณจำนวนชุดค่าผสมทั้งหมดใน R:

 #calculate total combinations of size 2 from 4 total objects
choose (4, 2)

[1] 6

คำตอบของเราสอดคล้องกับจำนวนชุดค่าผสมที่เราคำนวณด้วยตนเอง

ตัวอย่างที่ 2: คำนวณการเรียงสับเปลี่ยนทั้งหมด

การเรียงสับเปลี่ยน เป็นวิธีการเลือกตัวอย่างจากกลุ่มของวัตถุโดย คำนึงถึงลำดับของวัตถุ

ตัวอย่างเช่น สมมติว่าเรามีถุงลูกแก้วสี่ลูก: แดง น้ำเงิน เขียว และเหลือง

สมมติว่าเราต้องการเลือกลูกหินสองลูกโดยการสุ่มจากถุง โดยไม่ต้องเปลี่ยนลูกหินใหม่

นี่คือการเรียงสับเปลี่ยนหินอ่อนแบบต่างๆ ที่เราสามารถเลือกได้:

  • {แดง, น้ำเงิน}, {น้ำเงิน, แดง}
  • {แดง เขียว} {เขียว แดง}
  • {แดง เหลือง} {เหลือง แดง}
  • {ฟ้า เขียว} {เขียว น้ำเงิน}
  • {น้ำเงิน เหลือง} {เหลือง น้ำเงิน}
  • {เขียว เหลือง} {เหลือง เขียว}

มีการเรียงสับเปลี่ยนทั้งหมด 12 แบบ

ต่อไปนี้คือวิธีคำนวณจำนวนการเรียงสับเปลี่ยนทั้งหมดใน R:

 #calculate total permutations of size 2 from 4 total objects
choose (4, 2) * factorial (2)

[1] 12

คำตอบของเราสอดคล้องกับจำนวนวิธีเรียงสับเปลี่ยนที่เราคำนวณด้วยตนเอง

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

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

วิธีการแก้ไขเชิงเส้นใน R (พร้อมตัวอย่าง)
วิธีเลือกแถวเดี่ยวใน data frame ใน R
วิธีจำลองแถวใน data frame ใน R

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

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