R ทำงานกับไฟร์ข้อมูล CSV, Text, Excel และ อื่นๆอีก

กลับมาต่อกับบล็อกซีรี่ R กันครับ (อ่านเรื่องราวก่อนหน้านี้ได้ที่ เริ่มต้นวิเคราะห์ข้อมูลด้วย R … กันเถอะ! ) … ก่อนที่เราจะวิเคราะห์ข้อมูลสถิติโดยใช้โปรแกรม R กัน ขั้นแรกสุดหลังจากที่เราเก็บข้อมูลดิบมาแล้ว เราก็จะต้องน้ำข้อมูลดิบเหล่านั้นโหลดเข้ามาไว้ในโปรแกรม R ของเราเสียก่อนครับ เพื่อให้เราสามารถใช้งานคำสั่งต่างๆในโปรแกรม R  เพื่อคำนวนวิเคราะห์ หรือจัดการข้อมูลต่างๆ ต่อไปได้

วิธีการนำข้อมูลเข้าโปแกรม R มีอยู่ 2 วิธีหลักๆ ก็คือ กรอกข้อมูลเข้าโปแกรมโดยตรงที่หน้าจอเลย กับ นำเข้ามาจากภายนอก

ผมขอสรุป คำสั่งทั้งหมด ที่จะนำเสนอให้ดูกันก่อน ตามตารางข้างล่างนี้ครับ

R-manage-file-command

มาเริ่มลงมือทดลองคำสั่ง แบบ กรอกเข้าโปแรกมโดยตรงที่หน้าจอโปรแกรม กันก่อน

ตัวอย่างข้อมูลเป็น ค่าใช้จ่ายรัฐบาล จำแนกตามลักษณะงาน ตั้งแต่เดือน กรกฎาคม – กันยายน 2557 ครับ

R-example-data

ที่มา: http://www.bot.or.th/Thai/Statistics/EconomicAndFinancial/PublicFinance/Pages/Index.aspx

กรอกข้อมูลเข้าโปแกรมโดยตรงที่หน้าจอเลย

การกรอกข้อมูลโดยตรง ก็ใช้คำสั่ง สร้างข้อมูลเชิงเดียว หรือเวกเตอร์ข้อมูล เท่าจำนวนคอลัมข้อมูลที่เรามี ไปทีละคอลัม ดังนี้

> Code <- c(“701”, “702”, “703”, “704”, “705”, “706”, “707”, “708”, “709”, “710”)
> WorkType <- c(“การบริหารทั่วไปของรัฐ”, “การป้องกันประเทศ”, “การรักษาความสงบภายใน”, “การเศรษฐกิจ”, “การสิ่งแวดล้อม”, “การเคหะและชุมชน”, “การสาธารณสุข”, “การศาสนา วัฒนธรรม และนันทนาการ”, “การศึกษา”, “การสังคมสังเคราะห์”)
> Sep14 <- c(47964, 20986, 14396, 39593, 416, 8885, 13601, 1742, 51721, 16247)
> Aug14 <- c(19574, 13394, 10064, 22259, 240, 4895, 11472, 1053, 34381, 15908)
> Jul14 <- c(42266, 13412, 10757, 24936, 297, 5194, 24772, 1511, 44844, 15983)

จากคำสั่งด้านบน เราก็จะได้ ข้อมูลเชิงเดียว 4 ชุด หลังจากนั้น ก็สร้าง เฟรมข้อมูลจาก ข้อมูลเชิงเดียว ด้วยคำสั่งนี้

> govPayPerWorkType <- data.frame(Code, WorkType, Sep14, Aug14, Jul14)

เสร็จแล้วครับ การนำข้อมูลเข้าโปรแกรม R แบบกรอกเองกับมือ อย่าลืมเอา พื้นที่ที่ไม่จำเป็นออกด้วยนะครับ เมื่อเราสร้างเฟรมข้อมูลแล้ว พวกข้อมูลเชิงเดียวที่สร้างมาก่อนหน้านั้นก็เอาออกไปได้เลย ด้วยคำสั่ง

> rm(Code, WorkType, Sep14, Aug14, Jul14)

ลองตรวจสอบวัตถุในพื้นที่งานของเราด้วยคำสั่ง

> objects()

การนำข้อมูลเข้าแบบไฟร์ text ธรรมดาๆ

ไฟร์ text ธรรมดามีอยู่ 3 แบบครับ ได้แก่ .csv, .txt แบบขั้นด้วย tab และ .DIF

รูปแบบของไฟร์ .csv จะขั้นข้อมูลด้วย comman , และ .txt จะขั้นด้วย tab รูปแบบของไฟร์ เป็นแบบนี้

R-csv-format R-txt-format

นำข้อมูลไฟร์แบบ csv เข้ามาวิเคราะห์ในโปแกรม R ใช้คำสั่ง

> govPayPerWorkType <- read.csv(“C:/data.csv”) 

แบบไฟร์ที่ใช้ตัวขั้นข้อมูลเป็น tab ใช้คำสั่ง

> govPayPerWorkType <- read.delim(“C:/data.txt”) 

และแบบไฟร์ DIF

> govPayPerWorkType <- read.DIF(“C:/data.dif”)

เพิ่มเติมถ้าเป็นกรณีไฟร์ข้อมูลเราไม่มีหัวชื่อคอลัม ก็เพียงแต่ใส่ option ได้แบบนี้

> govPayPerWorkType <- read.csv(“C:/data.csv”, header=F)

กรณี่ที่ไฟร์ text ข้อมูลของเราขั้นข้อมูลด้วยรูปแบบอื่นที่ไม่ใช่ tab เช่น / เราก็สามารถใส่ option เพิ่มเข้าไปที่คำสั่ง R ได้เลยแบบนี้

> govPayPerWorkType <- read.table(“C:/data.txt”, sep=”/”)

ในโปรแกรม R เรายังสามารถนำข้อมูลเข้าจากแอพพริเคชั่นอื่นได้อีกครับ เช่น SPSS (.sav), Database file (.dbf), SAS (.xport) เป็นต้นโดยเราแค่ไปติดตั้ง plugin เพิ่มเติมให้กับโปรแกรม R เท่านั้นครับ (สำหรับการเพิ่ม plugin น่าจะนำเสนอให้ดูกันในตอนต่อๆไป)

การนำข้อมูลจากโปรแกรม R ออกเป็นไฟร์รูปแบบอื่น

ในกรณีที่เรามีข้อมูลอยู่ในโปรแกรม R แล้วต้องการเขียนไว้ในรูปแบบไฟร์ CVS ก็ใช้คำสั่งนี้ครับ

> write.csv(govPayPerWorkType, “export_data.csv”)

และ ในรูปแบบไฟร์ text แต่แบ่งขั้นข้อมูลด้วยตัวอักษรที่เรากำหนดก็ได้ ด้วยคำสั่งแบบนี้

> write.table(govPayPerWorkType, “export_data.txt”, sep=”\t”)

ก็ขอจบแต่เพียงเท่านี้นะครับสำหรับเรื่อง  R ทำงานกับไฟร์ข้อมูล CSV, Text, Excel และ อื่นๆอีก … 

สำหรับเรื่องถัดไปคือ R การเตรียมข้อมูลและการจัดการข้อมูล จะเป็นเรื่องราวหลังจากที่เราเอาข้อมูลเบื้องต้น เข้าโปรแกรม R แล้วที่เพิ่งจบไปนี้ มันก็จะต้องมีการจัดการข้อมูลก่อนนำไปวิเคราะห์กันครับ เช่น เปลี่ยนชื่อ, จัดข้อมูลใหม่, และ เอาข้อมูลบางค่าออก, เปลี่ยนชนิดข้อมูลให้ถูกต้อง, คำนวนค่าข้อมูลใหม่จากข้อมูลเก่า, การสุ่มข้อมูลจากกลุ่มข้อมูลที่นำเข้ามาแล้ว แบบนี้เป็นต้นครับ

ว่างๆมาเจอกันใหม่

ขอบคุณครับ

#:P

Advertisements

#data-analysis, #r, #statistics