ประเภทของข้อมูล (data structure) ต่างๆ ในภาษา R
ในการใช้งานภาษา R เราจำเป็นต้องเข้าใจถึงประเภทข้อมูล หรือ Data structure พื้นฐานของภาษา R กันก่อน ซึ่งก็มีหลายประเภทแต่หลักๆ คือ
- เวกเตอร์ (Vector) ซึ่งจะเก็บข้อมูลประเภทเดียวกันแบบมีลำดับ
- ลิสค์ (List) จะเก็บข้อมูลได้มากว่าหนึ่งประเภท
- ดาต้าเฟรม (Data frame) เก็บข้อมูลลักษณะคล้ายๆ กับตาราง โดยมีแถวและคอลัมน์ ซึ่งสามารถมีข้อมูลมากกว่า 1 ประเภทได้
- เมทริกซ์ (Metrix) เก็บข้อมูลลักษณะตาราง เหมือนกับ ดาต้าเฟรม แต่ส่วนใหญ่จะเป็นประเภทตัวเลขอย่างเดียว
ตัวอย่างการใช้ภาษา R :
- เวกเตอร์ (Vector) เป็นการเก็บข้อมูลประเภทเดียวกันทั้งหมด เช่น ข้อมูลประเภทตัวเลข หรือ Numeric และข้อมูลประเภทข้อความ (Text) เราสามารถสร้างเวกเตอร์ได้ด้วยฟังก์ชั่น c() ซึ่งเป็นการนำข้อมูลต่างๆ มาเชื่อมต่อกัน
> customer_id <- c("ID15101","ID15102","ID15103","ID15104")
> age <- c(48,50,51,23)
> gender <- c("FEMALE","MALE","FEMALE","FEMALE")
> income <- c(17546.0,30085.1,16575.4,20375.4)
จากตัวอย่างโค้ด เป็นการสร้างเวกเตอร์ขึ้นมา 4 เวกเตอร์ ถ้าเราต้องการเรียกใช้งานเวกเตอร์ไหนก็จะพิมพ์ชื่อของเวกเตอร์ และระบุตำแหน่งในเวกเตอร์ที่ต้องการได้เลย เช่น ถ้าต้องการดูหมายเลขของคนที่ 2 ซึ่งเก็บไว้ในเวกเตอร์ customer_id ใช้คำสั่งดังต่อไปนี้
> customer_id[2]
[1] "ID15102" // ผลการทำงานจะได้ค่า ID15102 แสดงออกมา
2. ลิสต์ (List) จะแตกต่างจากเวกเตอร์ตรงที่สามารถเก็บข้อมูลหลายประเภทได้ พร้อมกัน ซึ่งเกิดจากการนำเวกเตอร์หลายๆตัวมาต่อกันเป็นลิสต์ การสร้างลิสต์นั้นจะใช้ฟังก์ชั่น list() สำหรับการดูข้อมูลของลูกค้าแต่ละคนด้วยการใช้เวกเตอร์นั้น เราจะต้องระบุชื่อเวกเตอร์และตำแหน่งที่ต้องการ โดยต้องพิมพ์ถึง 4 ครั้งตามจำนวนเวกเตอร์ แต่เราสามารถสร้างเป็นลิสต์แล้วก็เรียกเป็นตัวแปรเดียวได้เลย ดังตัวอย่าง
> john_doe <- list(customer_id = customer_id[1],
age = age[1],
gender = gender[1],
income = income[1])
หลังจากรันคำสั่งด้านบนแล้วตัวแปร john_doe จะเก็บค่าเวกเตอร์ต่างๆ ส่วนการเรียกใช้งานสามารถทำได้ดังนี้
> john_doe
$customer_id
[1] "ID15101"
$age
[1] 48
$gender
[1] "FEMALE"
$income
[1] 17546
จากผลที่แสดงออกมา เราจะเห็นว่าชื่อของตัวแปรในลิสต์จะมีเครื่องหมาย $ นำหน้า ถ้าเราต้องการทราบรายได้ (income) ของลูกค้าคนนี้ เราสามารถใช้คำสั่ง ดังต่อไปนี้
> john_doe$income
[1]17546
3. ดาต้า เฟรม (Data frame) เป็นการเก็บข้อมูลให้อยู่ในรูปแบบคล้ายตาราง ซึ่งมีแถว (row) และคอลัมน์ (column) ข้อมูลที่เก็บในดาต้าเฟรมไม่จำเป็นต้องเป็นประเภทเดียวกัน ในการสร้างดาต้าเฟรมจะใช้ฟังก์ชั่น data.frame() ตัวอย่างของการสร้างดาต้าเฟรม ซึ่งเก็บรายละเอียดของลูกค้าทั้งหมด ดังตัวอย่างต่อไปนี้
> customer <- data.frame(customer_id, age, gender, income)
ถ้าต้องการดูข้อมูลในดาต้า เฟรมทั้งหมดสามารถพิมพ์ชื่อของดาต้า เฟรมได้เลย เช่น
> customer
customer_id age gender income
1 ID15101 48 FEMALE 17546.0
2 ID15102 50 MALE 30085.1
3 ID15103 51 FEMALE 16575.4
4 ID15104 23 FEMALE 20375.4
ถ้าต้องการดูรายละเอียดแค่บางส่วนเราสามารถใช้คำสั่งดังด้านล่างได้เลย เป็นการเลือกดูอายุของลูกค้าคนที่ 1 เท่านั้น
> customer[1,"age"]
[1] 48
หรือ ถ้าต้องการจะดูทั้งอายุและรายได้ของลูกค้าคนที่ 1 สามารถใช้คำสั่งด้านล่างได้เลย
> customer[1,c("age","income")]
age income
[1] 48 17546
4. เมทริกซ์ (Matrix) เป็นลักษณะการเก็บข้อมูลคล้ายๆ กับดาต้าเฟรม แต่ข้อมูลจะเป็ฯประเภทเดียวกันและเป็นประเภทตัวเลขเพื่อนำไปใช้ในการคำนวณต่างๆ ในการสร้างเมทริกซ์จะใช้ฟังก์ชั่น matrix() ตัวอย่างของการสร้างเมทริกซ์จะแสดงในตัวอน่างต่อไปนี้
> data <- matrix(c(100,200,300,400,500,600,
700,800,900,1000,1100,1200,
1300,1400,1500,1600),
nrow=4, ncol=4)
จากคำสั่งด้านบนเป็นการสร้างเมทริกซ์ของตัวเลขที่มีจำนวน 4 แถวและ 4 คอลัมน์ เมื่อเรียกใช้งานจะได้ ผลลัพธ์แสดงในตัวอย่างด้านล่างนี้
> data[1,2]
[1] 500
และถ้าต้องการดูข้อมูลของแถวในคอลัมน์ (column) สามารถใช้คำสั่ง เช่น data[,1] เพื่อดูข้อมูลในคอลัมน์ที่ 1 ดังตัวอย่างด้านล่างนี้
> data[,1]
[1] 100 200 300 400
และถ้าต้องการดูข้อมูลในแถว (row) สามารถใช้คำสั่ง เช่น data[1,] เพื่อดูข้อมูลในแถวที่ 1 ดังตัวอย่างด้านล่าง
> data[1,]
[1] 100 500 900 1300
ข้อมูลอ้างอิง : http://dataminingtrend.com/