นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน

Our Shangri-La
Ico64
Kittisakdi Choomalee

ภาควิชาเวชศาสตร์ชุมชน คณะแพทยศาสตร์ มหาวิทยาลัยสงขลานครินทร์
เครือข่าย
สมาชิก · ติดตาม: 0 · ผู้ติดตาม: 16

อ่าน: 1317
ความเห็น: 0

ก้าวย่างทางเดิน ลืมเลือนคืนวัน ดั้นด้นไป: Titanic ฉบับ rate R # ๒ [C]

ข้อมูลตัวอย่างข้อมูลหนึ่งที่ถูกนำมาใช้เป็นข้อมูลตัวอย่างสำหรับการวิเคราะห์ข้อมูลคือข้อมูล Titanic

พร้อมจะออกเลกันแล้วยังครับ คราวนี้ไปให้หนาวสุดขั้วใจกับ Titanic

บันทึกที่เกี่ยวข้อง

เริ่มกันเลยนะครับ ส่วนท้าวฯ ไม่ต้องทาครีมกันแดดอยู่ แดดไม่ร้อนครับ แถวนี้มีแต่ภูเขาน้ำแข็ง

อิอิอิ

เราลองเรียกดูข้อมูลกันเลยครับ

> Titanic
, , Age = Child, Survived = No

      Sex
Class  Male Female
  1st     0      0
  2nd     0      0
  3rd    35     17
  Crew    0      0

, , Age = Adult, Survived = No

      Sex
Class  Male Female
  1st   118      4
  2nd   154     13
  3rd   387     89
  Crew  670      3

, , Age = Child, Survived = Yes

      Sex
Class  Male Female
  1st     5      1
  2nd    11     13
  3rd    13     14
  Crew    0      0

, , Age = Adult, Survived = Yes

      Sex
Class  Male Female
  1st    57    140
  2nd    14     80
  3rd    75     76
  Crew  192     20

ข้อมูล Titanic ที่มาพร้อมกับ R นั้นมี class เป็น Table หรือเป็นวัตถุชนิด array ใน R เมื่อเรียกดูข้อมูจะพบว่าข้อมูลถูกแบ่งออกเป็น ๔ ตาราง โดยแต่ละตารางจะแยกเป็น

  • ข้อมูลอายุจะแบ่งเป็น ๒ กลุ่มคือ เด็ก (Child) และผู้ใหญ่ (Adult)
  • ข้อมูลการรอดชีวิต (Survived) แบ่งเป็น รอดชีวิต (Yes) และเสียชีวิต (No)
  • ข้อมูลเพศ (Sex) แบ่งเป็น ชาย (Male) และหญิง (Female)
  • ข้อมูลผู้โดยสาร แบ่งเป็น 4 กลุ่มคือ First Class (1st), Second Class (2nd), Third Class (3rd) และ Crew
  • ตารางที่ ๑ เป็นข้อมูลเด็กที่เสียชีวิต (Age = Child, Survived = No) และเด็กที่เสียชีวิตจะเป็นผู้โดยสารระดับ 3rd class ทั้งหมดโดยแบ่งเป็นชาย ๓๕ คน เป็นหญิง ๑๗ คน
  • ตารางที่ ๒ เป็นข้อมูลผู้ใหญ่ที่เสียชีวิต (Age = Adult, Survived = No)   พบว่า มีผู้โดยสารทุกระดับที่เสียชีวิต ผู้ใหญ่ที่เสียชีวิตมากที่สุดเป็นเพศชายโดยลูกเรือเสียชีวิตมากที่สุด เป็นชาย ๖๗๐ คน เป็นหญิง ๓ คน รองลงมาเป็นผู้โดยสารชั้น ๓ ผู้ชายเสียชีวิต ๓๘๗ คน ผู้หญิงเสียชีวิต ๘๙ คน ผู้โดยสารชั้น ๒ ที่เสียชีวิตเป็นชาย ๑๕๔ คน เป็นหญิง ๑๓ คน และผู้โดยสารชั้น ๑ เสียชีวิตน้อยที่สุด แบ่งเป็นผู้ชาย ๑๑๘ คน ผู้หญิง ๔ คน
  • ตารางที่ ๓ เป็นข้อมูลผู้รอดชีวิตที่เป็นเด็ก (Age = Child, Survived = Yes) เด็กที่รอดชีวิต ชั้น ๒ และชั้น ๓ มีจำนวนใกล้เคียงกัน คือชั้น ๓ มีเด็กที่เป็นผู้ชายรอดชีวิต ๑๓ คน เป็นผู้หญิง ๑๔ คน ส่วนผู้โดยสารชั้น ๒ ที่เป็นเด็กมีผู้ชายรอดชีวิต ๑๑ คน เด็กผู้หญิงรอดชีวิต ๑๓ คน และผู้โดยสารชั้น ๑ มีเด็กผู้ชายรอดชีวิต ๕ คนเด็กผู้หญิงรอดชีวิต ๑ คน
  • ตารางที่ ๔ เป็นข้อมูลผู้ใหญ่ที่รอดชีวิต (age = Adult, Survived= Yes) มีลูกเรือผู้ชายรอดชีวิต ๑๙๒ คน ลูกเรือผู้หญิงรอดชีวิต ๒๐ คน ผู้โดยสารชั้น ๓ ผู้ชายรอดชีวิต ๗๕ คน ผู้หญิงรอดชีวิต ๗๖ คน ผู้โดยสารชั้น ๒ ชายรอดชีวิต ๑๔ คน หญิงรอดชีวิต ๘๐ คน และผู้โดยสารชั้น ๑ ที่เป็นผู้ใหญ่มีชายรอดชีวิต ๕๗ คน หญิงรอดชีวิต ๑๔๐ คน

อันนี้เป็นเพียงข้อมูลส่วนหนึ่งเท่านั้นนะครับ เป็นข้อมูลของคนทั้งหมด ๒,๒๐๑ คน จำนวนนี้ไม่ทราบว่ารวม Jack ด้วยหรือเปล่า

 

และหลังจากที่ภาพยนต์เรื่อง Titanic ประสบความสำเร็จ โด่งดังไปทั่วโลกนั้น ทำให้ข้อมูลต่าง ๆ ที่เกี่ยวกับ Titanic มีรายละเอียดเพิ่มมากขึ้นและหาได้ไม่ยากในโลก cyber

 

ในบางเวประบุว่าผู้โดยสารจำนวน ๒,๒๐๐ คน เสียชีวิต ๑,๕๐๐ คน รอดชีวิต ๗๐๐ คน

 

ข้างต้นเป็นการสรุปข้อมูลทั้งหมดที่อยู่ในรูปแบบของตาราง (Table) วึ่งเป็นรูปแบบการเก็บข้อมูลของวัตถุที่ชื่อ Titanic ใน R

 

อย่างที่เราทราบในบันทึกก่อหน้านี้ว่า Titanic เป็นวัตถุชนิด array ใน R แต่รูปแบบของ Titanic กับ ratetable อาจจะไม่เหมือนกันในเรื่องของรูปแบบการจัดเก็บข้อมูล

 

เราลองใช้ความรู้เดิมเกี่ยวกับ array จากบันทึก ratetable มาใช้กับ Titanic ดูนะครับว่า การเรียกข้อมูลออกมานั้นจะทำได้เหมือนกันกับ ratetble หรือไม่อย่างไร หรือหากเราต้องการเปลี่ยนข้อมูลจาก array หรือ  table ให้เป็น  data frame (กรอบข้อมูล) เพื่อนำข้อมูลที่ได้ไปใช้วิเคราะห์ข้อมูลอย่างอื่นต่อไป

 

จากโครงสร้างของ Titanic

> str(Titanic)
 table [1:4, 1:2, 1:2, 1:2] 0 0 35 0 0 0 17 0 118 154 ...
 - attr(*, "dimnames")=List of 4
  ..$ Class   : chr [1:4] "1st" "2nd" "3rd" "Crew"
  ..$ Sex     : chr [1:2] "Male" "Female"
  ..$ Age     : chr [1:2] "Child" "Adult"
  ..$ Survived: chr [1:2] "No" "Yes"

> dim(Titanic)
[1] 4 2 2 2

 

Titanic เป็น ตารางที่มีจำนวนมิติเป็น   ๔ ๒ ๒ ๒ หรือมีข้อมูล ๔ กลุ่มข้อมูล ข้อมูลแรกเป็นระดับของผู้โดยสาร (Class) ซึ่งแบ่งระดับของผู้โดยสารเป็น ๓ ประเภทและเป็นลูกเรืออีก ๑ ประเภท เพศ (Sex) แบ่งเป็นข้อมูลชาย (Male) และหญิง (Female) อายุ (Age) แบ่งเป็น เด็ก (Child) และผู้ใหญ่ (Adult) และข้อมูลการรอดชีวิต แบ่งเป็น ๒ อย่างคือ รอดชีวิต (Yes) และเสียชีวิต (No)

 

เราเรียกดูข้อมูลการรอดชีวิตของผู้โดยสาร First Class  เพศชาย (Male) ที่เป็นเด็ก (Child) ด้วยบรรทัดคำสั่ง

> Titanic[1,1,1,]
 No Yes
  0   5

 

จะพบว่าข้อมูลผู้โดยสารชั้น First Class เพศชายที่เป็นเด็กมีผู้รอดชีวิตทั้งหมด ๕ คน ไม่มีผู้โดยสารชั้น First Class เพศชายที่เป็นเด็กเสียชีวิตเลยแม้แต่คนเดียว

 

แต่ข้อมูลนี้มาจากผู้โดยสารชั้น First Class ที่เป็นเด็กผู้ชายทั้งหมดกี่คน หรือจำนวนนี้มาจากผู้โดยสารชั้น First Class ที่เป็นเด็กกี่คน ก็คงต้องไปเทียบข้อมูลกับตารางข้างต้นครับ

 

การดึงข้อมูลออกมาทีละส่วนแบบนี้ก็อาจจะไม่ใช่สิ่งที่เราต้องการ

 

สิ่งที่เราต้องการก็คือการดึงข้อมูลออกมาให้เป็นข้อมูลดิบที่เป็นข้อมูลของแต่ละลักษณะ คือ

 

จากข้อมูลทั้งหมด ๒๒๐๑ คนนี้ มีผู้โดยสารคนไหนเป็นผู้โดยสารระดับไหนบ้าง คนไหนเป็นลูกเรือบ้าง หรือข้อมูลเพศ เราต้องการข้อมูลเพศของผู้โดยสารหรือลูกเรือแต่ละคน เป็นต้น

 

อิอิอิ

 

ก็คงต้องไปคิดหาหนทางที่ดึงข้อมูลจากรูปแบบของตารางให้เป็นข้อมูลในแบบของกรอบข้อมูลธรรมดา

 

อิอิอิ

 

เราเอง

 

เพลง:
ศิลปิน:

หมวดหมู่บันทึก: เรื่องทั่วไป
คำสำคัญ (keywords): bad practice  r  Titamic dataset  ข้าวยำ  เฉาก๊วย
สัญญาอนุญาต: ซีซี: แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกัน Cc-by-nc-sa
สร้าง: 26 เมษายน 2557 09:51 แก้ไข: 01 พฤษภาคม 2563 09:32 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ: Ico24 Ikkyu, Ico24 คนธรรมดา, และ Ico24 ใยมะพร้าวน้องใยไหม.
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

ไม่มีความเห็น
คุณต้องทำการเข้าระบบก่อนแสดงความเห็น