เมื่อไม่นานมานี้ แอดมินได้ทำโปรเจค Data Visualization ตัวหนึ่ง ซึ่งข้อมูลเป็นความลับ ต้องขออนุญาตก่อนถึงจะนำมาใช้งานได้ แอดเลยจำเป็นต้องหาวิธีสร้างชุดข้อมูลปลอม ๆ ขึ้นมาเทสระบบแบบเร็ว ๆ
การสร้างข้อมูลปลอมสามารถใช้ Python หรือ R เขียนเอาก็ได้ แต่แอดอยากได้เครื่องมือที่ไม่ซับซ้อน และอยากได้วิธีที่นำไปใช้ร่วมกับคนอื่น ๆ ในโปรเจคอื่น ๆ ในอนาคตได้ง่าย เลยมาจบที่การใช้ Excel ครับ
คำอธิบายคำสั่งต่าง ๆ รวมถึงตัวอย่างการใช้งาน สามารถดูในวีดิโอด้านล่างที่ทำไว้ให้ได้เลยฮะ
ส่วนถ้าใครดูวีดิโอจบแล้ว อยากก็อปโค้ดไปใช้งานในโปรเจคตัวเองทันที ผมวางโค้ดไว้ในบทความนี้ให้ใช้กันได้ง่าย ๆ แล้วครับ
โค้ดสำหรับสุ่มข้อมูลด้วย Excel
โค้ดสุ่มตัวเลขจำนวนเต็ม (Integer) และ Binary (True/False)
Integer หรือ จำนวนเต็ม คือ ตัวเลขที่ไม่มีทศนิยม เช่น 0, 1, 2, 3, 4, 5, … นั่นเองครับ ข้อมูลหลายๆ ประเภทในชีวิตประจำวันล้วนเป็นจำนวนเต็ม เช่น ซื้อไข่ 5 ฟอง, ไอโฟนเวอร์ชั่น 10 เป็นต้น
Binary คือ ข้อมูลที่มีแค่ 0 (FALSE = ผิด) กับ 1 (TRUE = ถูก) ใช้กับสิ่งที่มีได้แค่ 2 ค่า เช่น โรงแรมนี้อยู่ในตัวเมืองหรือไม่ได้อยู่, บ้านนี้มีสระว่ายน้ำหรือไม่มี เป็นต้น
โค้ด Excel ที่เราใช้สุ่มข้อมูล Integer หรือ Binary คือ:
=RANDBETWEEN(50, 100) =ROUND( RAND()*10, 0 ) =IF(RAND()<0.5, 1, 0)
บรรทัดสุดท้าย คือ โค้ดสุ่ม Binary ด้วย Probability (ความน่าจะเป็น) 0.5
โค้ดสุ่มตัวเลขต่อเนื่อง (Continuous)
Continuous หรีอ ตัวเลขต่อเนื่อง (ไม่แน่ใจภาษาไทยนะฮะ แปลผิดขออภัย) คือ ตัวเลขที่มีทศนิยม เช่น 0.00001, 0.00002, 0.00003, … ตัวอย่างการใช้งานที่เราเห็นได้บ่อย ๆ ก็เช่น น้ำหนัก 72.5 กิโลกรัม, สอบได้ 60.25 คะแนน เป็นต้น
โค้ด Excel ที่เราใช้สุ่มข้อมูล Continuous คือ:
=RAND() =RAND() * 4 =(RAND() * 2) + 2
โค้ดสุ่มข้อความ (Categorical)
Categorical คือ ค่าที่จะมาจากค่าใดค่าหนึ่งในกลุ่ม เช่น รถยนต์รุ่นนี้มีแค่ 3 สี คือ แดง, ขาว, ดำ เป็นต้น
เราสามารถใช้คำสั่งเดียวกันนี้สุ่มข้อความ หรือค่าจากกลุ่มที่เราต้องการก็ได้เช่นกัน อาจจะเป็นตัวเลขหรือเป็นวันที่ก็ได้
โค้ด Excel ที่เราใช้สุ่มข้อมูล Categorical คือ:
=CHOOSE(RANDBETWEEN(1,4), “Group A", "Group B", "Group C", "Group D”) =INDEX(A$1:A$5, RANDBETWEEN(1, COUNTA(A$2:A$5) ))
โค้ดบรรทัดล่างจะเป็นการสุ่มจาก Cell ข้อมูลที่เราพิมพ์ไว้แล้วใน Excel
โค้ดสุ่มวันที่ (Date)
วันที่ คือ ข้อมูลที่เป็นวัน/เดือน/ปี ซึ่งมีประโยชน์กับข้อมูลหลากหลายแบบ เช่น วันเกิดของคน
โค้ด Excel ที่เราใช้สุ่มข้อมูลวันที่ คือ:
=RANDBETWEEN(DATE(1990,1,1),DATE(1999,12,31))
ถ้าลองโค้ดนี้แล้วขึ้นเป็นตัวเลขยาว ๆ ให้คลิกขวา Format Cell เป็นข้อมูลประเภท Date แทน (ถ้าหาไม่เจอ สามารถดูวิธีจากในวีดิโอได้เช่นกันครับ)
โค้ดสุ่มอีเมล และการต่อข้อความ
หลายครั้งที่ข้อมูลของเราเกิดจากการสุ่มหลายส่วนมาประกอบกัน ตัวอย่างการใช้งานก็เช่น การสุ่มอีเมล ซึ่งเราสามารถใช้โค้ด EXCEL ด้านล่างนี้ได้เลยครับ
=CHOOSE(RANDBETWEEN(1,6), "mary", "tony", "perth", "toy", "roger", “kan”) & CHOOSE(RANDBETWEEN(1,2), "@gmail.com", “@hotmail.com”)
จะเห็นว่าโค้ดนี้ คือ การใช้คำสั่งสุ่มข้อความคู่กับเครื่องหมาย & ไว้เชื่อมคำ นั่นเองครับ
ลองนำไปใช้สร้างข้อมูลทดสอบ (Dummy Data) ของตัวเองกันดูครับ หวังว่าบทความนี้จะมีประโยชน์กับทุกท่านนะครับ