Ubuntu, Linux – คำสั่งสำหรับสุ่มตัวอย่างข้อมูลบางส่วนออกมาจากไฟล์

บางครั้งไฟล์ข้อมูลที่เราต้องการจะเปิดดูอาจจะมีขนาดใหญ่มาก ถ้าเปิดดูทั้งไฟล์หรือเราจะทดลองโปรแกรมอะไรซักอย่าง หากเราเลือกประมวลผลไฟล์ใหญ่ทั้งไฟล์อาจจะทำให้เครื่องคอมของเราอาจจะช้าหรือถ้าเครื่องที่ทรัพยาการค่อนข้างน้อยอาจจะเปิดไม่ได้เลย วันนี้ก็เลยลองหาคำสั่งที่เป็น command line ที่จะทำการสุ่มข้อมูลเฉพาะบางบรรทัดออกมา เพื่อดูข้อมูลคร่าวๆ จากไฟล์ที่เราต้องการ ว่าข้อมูลที่เก็บในไฟล์นี้เป็นข้อมูลลักษณะไหน เกี่ยวกับอะไร เก็บข้อมูลอย่างไร เริ่มต้นด้วยการสร้างไฟล์ข้อมูลตัวอย่าง ตั้งชื่อไฟล์ว่า “example.txt” ในไฟล์ใส่ข้อมูลลงไป 6 บรรทัด Twinkle twinkle little star. How I wonder what you are. Up above the world so high. Like a diamond in the sky. Twinkle twinkle little star. How I wonder what you are. เสร็จแล้วทำการบันทึกไฟล์ให้เรียบร้อย คำสั่งสุ่มข้อมูลจาก text ไฟล์ที่ระบุมา 1 Read more about Ubuntu, Linux – คำสั่งสำหรับสุ่มตัวอย่างข้อมูลบางส่วนออกมาจากไฟล์[…]

html,js,leaflet – เปรียบเทียบความคมชัดของไฟล์แผนที่ .geojson ซึ่งบีบอัดโดยความละเอียดต่างกัน ตอนที่ 2

จาก 2 บทความก่อนหน้านี้:- บทความแรก: เราได้ทำการบีบอัดข้อมูลแผนที่จาก shapefile ให้เป็นไฟล์ .geojson ซึ่งเราได้ทดลองทำการบีบอัดไฟล์ข้อมูลแผนที่ประเทศไทยซึ่งมีข้อมูลระบุขอบเขตของทุกจังหวัด เพื่อบีบอัดจากไฟล์ที่มีความละเอียดสูงให้มีขนาดเล็กลงเพื่อตอนที่โหลดเพื่อนำไปใช้งานจะได้ไม่ต้องใช้หน่วยความจำในการโหลดและประมวลผลมากนัก โดยฟังก์ชันที่ใช้ในการบีบอัดสำหรับบทความที่แล้วเราก็ยังสามารถระบุความละเอียดของแผนที่ได้ตามความเหมาะสมที่เราจะนำไปใช้งาน บทความที่สอง: เราได้ทำการเขียนโปรแกรมเพื่อดึงข้อมูลแผนที่ซึ่งได้ทำการบีบอัดให้ขนาดไฟล์เล็กลงออกมาแสดงผลดู และเปรียบเทียบความละเอียดของแผนที่ในบางพื้นที่ ว่าเมื่อดูด้วยตาของเราจริง ความละเอียดของการบีบอัดที่แตกต่างการจะส่งผลต่อการมองเห็นต่างกันมากน้อยอย่างไร ในบทความนี้เราจะลองเขียนโปรแกรมเพื่อดึงข้อมูลแผนที่แต่ละจังหวัดออกมา และแสดงผลเปรียบเทียบสำหรับความละเอียดของไฟล์ .geojson แต่ละแบบที่เราได้ทำการบีบอัดข้อมูลเอาไว้ เพื่อดูว่า เมื่อเราต้องการดูข้อมูลแผนที่ในระดับที่ดูโครงร่างของจังหวัด ในความละเอียดแต่ละแบบจะแสดงผลแตกต่างกันอย่างไรบ้าง ตัวอย่างโปรแกรมเปรียบเทียบความละเอียดของแผนที่ซึ่งถูกบีบอัดด้วยความละเอียดที่แตกต่างกัน(สามารถเลือกชื่อจังหวัดเพื่อเปรียบเทียบแผนที่ซึ่งความละเอียดข้อมูลแตกต่างกัน) ในตัวอย่างด้านล่างนี้ เราจะเปรียบเทียบไฟล์แผนที่ .geojson ที่ถูกบีบอัดให้เหลือไฟล์ขนาดที่แตกต่างกัน 3 ระดับ จากละเอียดน้อยด้านซ้าย(ขนาดไฟล์เล็ก) ไปจนถึงความละเอียดมากด้านขวา(ขนาดไฟล์ใหญ่ขึ้น) จากนั้นเราลองเลือกดูแผนที่ของจังหวัดชัยนาท(Chai Nat) จะเห็นว่าการแสดงผลแผนที่จากไฟล์ .geojson ที่บีบอัดจากความละเอียดที่แตกต่างกัน ก็แสดงผลออกมาไม่แตกต่างกันมากนัก แต่สำหรับแผนที่อันซ้ายสุดที่ถูกบีบอัดไฟล์ .geojson จนเหลือไฟล์ขนาด 553.9 kB นั้น ข้อมูล polygon ของแผนที่จะมีความหยักน้อยลงกว่าแผนที่อันกลางกับอันขวาสุดแบบสังเกตุได้ชัด แม้ว่ารูปร่างของเส้นแบ่งเขตแดนจังหวัดจะไม่เปลี่ยนแปลงไปมากนัก แต่ข้อมูลก็มีความแตกต่างที่พอจะมองเห็นได้ด้วยสายตา ดังนั้นถ้าต้องการจะนำไปใช้กับแอพลิเคชันที่ดูข้อมูลระดับของเขตจังหวัดออกมาดู ก็อาจจะต้องพิจารณาเลือกไฟล์ที่มีขนาดใหญ่ขึ้นกว่านี้อีกสักหน่อย เช่น แผนที่อันกลางซึ่งมีความละเอียดไฟล์ 2.9 MB Read more about html,js,leaflet – เปรียบเทียบความคมชัดของไฟล์แผนที่ .geojson ซึ่งบีบอัดโดยความละเอียดต่างกัน ตอนที่ 2[…]

R – บันทึกและโหลดข้อมูลของ R object ไว้ในรูปแบบไฟล์

เมื่อวันก่อนได้มีโอกาสทดลงสร้างรายงานจากไฟล์ในรูปแบบ Rmarkdown(.rmd) ซึ่งการสร้างรายงานในรูปแบบไฟล์นี้ จะเป็นรายงานที่มีทั้งข้อความอธิบายเนื้อหา, มีโค้ดภาษา R ที่สามารถเพิ่มขึ้นมาใช้อธิบายประกอบขั้นตอนการวิเคราะห์ข้อมูล พร้อมทั้งยังสามารถแสดงผลข้อมูลโค้ดดังกล่าวในรูปแบบตัวอักษร, โค้ดอธิบายการคำนวณ พร้อมกับรันโปรแกรมในส่วนของโค้ดดังกล่าวแล้วเอาผลการรันโปรแกรมในส่วนนั้นมาแสดงต่อจากโค้ดนั้นได้เลย ซึ่งผลที่ได้จากการรันโปรแกรมก็อาจจะเป็นได้ทั้งตัวหนังสือ, ตัวเลข, กราฟ หรือข้อมูลรูปแบบอื่นๆ ที่เกิดจากการประมวลผลโค้ดในส่วนนั้น ไฟล์ .rmd มีประโยชน์มาก เพราะบางทีที่เราต้องการจะเอาโค้ดภาษา R ส่งไปให้คนอื่นทำความเข้าใจและเพื่อจะดูผลลัพท์จากการคำนวณ หรือดูเป็นกราฟที่ประมวลผลออกมาได้จากโค้ดในส่วนนี้ แต่บางทีพอส่งแต่โค้ด .R ไป เครื่องคอมพิวเตอร์ของคนอื่นอาจจะมี library ไม่พร้อม หรือเวอร์ชันของ library ต่างๆ ไม่ตรงกันกับที่เจ้าของโค้ดใช้งาน อาจจะทำให้รันผลออกมาไม่ได้ หรือว่าบางทีค่าต่างๆ ผิดเพี้ยนไปบ้าง แต่เมื่อเป็นไฟล์รายงานที่ถูกเขียนด้วยไฟล์ .rmd เจ้าของรายงานสามารถเลือกสร้างรายงานออกมาในรูปแบบ .html, .pdf ได้ ซึ่งการสร้างรายงานออกมาในรูปแบบรายงานด้วยไฟล์ประเภทนี้ ผู้รับไฟล์สามารถเอาไฟล์ .html, .pdf ไปอ่านทำความเข้าใจได้เลย ไม่จำเป็นต้องติดตั้งโปรแกรมภาษา R ในเครื่องคอมพิวเตอร์และรันโปรแกรมซ้ำอีก และยังเป็นไฟล์ที่สามารถอ่านทั้งข้อมูลที่เป็นส่วนอธิบายโปรแกรม, ส่วนของโค้ดที่ใช้เขียนโปรแกรมนั้น และผลลัพท์ที่ได้จากการรันโปรแกรมในแต่ละส่วนๆ ย่อยๆ นั้น เนื่องจากเวลาต้องการจะกดสร้างรายงานจากไฟล์ Read more about R – บันทึกและโหลดข้อมูลของ R object ไว้ในรูปแบบไฟล์[…]

html,js,leaflet – เปรียบเทียบความคมชัดของไฟล์แผนที่ .geojson ซึ่งบีบอัดโดยความละเอียดต่างกัน ตอนที่ 1

จากบทความตอนที่แล้ว เราได้ทดลองทำการบีบอัดไฟล์ข้อมูลแผนที่ประเทศไทยซึ่งมีข้อมูลระบุขอบเขตของทุกจังหวัด เพื่อบีบอัดจากไฟล์ที่มีความละเอียดสูงให้มีขนาดเล็กลงเพื่อตอนที่โหลดเพื่อนำไปใช้งานจะได้ไม่ต้องใช้หน่วยความจำในการโหลดและประมวลผลมากนัก โดยฟังก์ชันที่ใช้ในการบีบอัดสำหรับบทความที่แล้วเราก็ยังสามารถระบุความละเอียดของแผนที่ได้ตามความเหมาะสมที่เราจะนำไปใช้งาน หลังจากบีบอัดไฟล์ข้อมูลแผนที่ .geojson ซึ่งมีความละเอียดที่แตกต่างกันแล้ว ออมก็มีความสงสัยขึ้นมาอีกว่า แล้วข้อมูลที่ถูกบีบลงไปนั้นจะยังคงความละเอียดมากแค่ไหน จะเหมาะกับนำไปใช้งานอย่างไร เดี๋ยววันนี้เราจะมาลองดึงข้อมูลดังกล่าวเพื่อมาแสดงผลเป็นข้อมูลแผนที่ที่ถูกบีบอัดด้วยความละเอียดที่แตกต่างกัน ลองมาซูมแผนที่ดู ว่าข้อมูลแผนที่ที่ถูกบีบอัดแล้วความละเอียดจะเพียงพอกับการใช้งานหรือไม่ ในบทความนี้ ออมก็เลยทดลงเขียนแอพลิเคชันขึ้นมาหนึ่งอัน เพื่อไว้ทดสอบการแสดงผลแผนที่ ซึ่งบีบอัดด้วยความละเอียดแตกต่างกัน และเราจะใช้ html ร่วมกับ javascript และ library leaflet สำหรับแอพลิเคชันนี้เพื่อจะใช้ในการนำมาแสดงผลข้อมูลแผนที่และเขียนโค้ดให้รับข้อมูลเข้าไปนิดหน่อย ตัวอย่างโปรแกรม จะเห็นจากในโปรแกรมด้านบน ก็จะมีแสดงแผนที่ 3 แบบ ซึ่งบีบอัดมาด้วยความละเอียดของไฟล์แตกต่างกัน แผนที่ด้านซ้ายสุด ถูกบีบอัดจนเหลือขนาดไฟล์ 553.9 kB แผนที่ตรงกลาง ถูกบีบอัดจนเหลือขนาดไฟล์ 2.9 MB แผนที่ด้านขวาสุด ถูกบีบอัดจนเหลือขนาดไฟล์ 14.1 MB ส่วนตัวเลือกในแอพลิเคชัน เราจะแสดงตัวอย่างที่การซูมแผนที่ 3 ระดับ เลือกดูแผนที่ในระยะซูมดูข้อมูลแผนที่รวมทั้งประเทศ (ตั้งค่าจุดกึ่งกลางเป็น [13.29900, 100.9925], ระดับซูม 5) เลือกดูแผนที่ในระยะซูมเพื่อดูแผนที่เฉพาะจังหวัดภูเก็ต (ตั้งค่าจุดกึ่งกลางเป็น Read more about html,js,leaflet – เปรียบเทียบความคมชัดของไฟล์แผนที่ .geojson ซึ่งบีบอัดโดยความละเอียดต่างกัน ตอนที่ 1[…]

R – ลองใช้ dplyr กับ ggplot2 ในการจัดรูปแบบข้อมูลและพลอตเป็นกราฟแบบต่างๆดู

ช่วงนี้เป็นมือใหม่ลองใช้ภาษา R ในการจัดการข้อมูลและลองวิเคราะห์ข้อมูลพื้นฐาน ก็มาถงส่วนที่อยากทำความรู้จักกับ package dplyr กับ ggplot2 วิธีที่ดีที่สุดก็คือต้องลองใช้งานดูเยอะๆ จะได้รู้จัก package นั้นๆ ดียิ่งขึ้น Package dplyr สำหรับ package dplyr เป็น package พื้นฐานของ R ไว้สำหรับจัดการกับก้อนข้อมูลที่เรามีเช่น กรองข้อมูลเฉพาะบางคอลัมน์, กรองข้อมูลเฉพาะแถวที่มีข้อมูลบางอย่างอยู่, จัดเรียงลำดับข้อมูลที่มีตามเงื่อนไขที่ระบุ เป็นต้น ฟังก์ชันหลักๆ ของ dplyr ที่มักจะถูกเรียกใช้เพื่อจัดการข้อมูล:- filter() : มักถูกเรียกใช้เพื่อจะกรองข้อมูลของแต่ละแถว(row) ว่าข้อมูลในแถวนั้นมีข้อมูลตรงตามเงื่อนไขที่ระบุหรือไม่ ถ้าไม่มีข้อมูลก็จะถูกกรองออก เมื่อประมวลผลเสร็จก็จะคืนค่าเป็นข้อมูลใหม่ที่กรองตามเงื่อนไขเรียบร้อยแล้ว select(): มักถูกเรียกใช้เพื่อจะกรองข้อมูล จากชื่อหลัก(column)หรือจากชนิดของข้อมูล(data type)ในคอลัมน์นั้น เมื่อประมวลผลเสร็จก็จะคืนค่าเป็นข้อมูลใหม่ที่กรองตามเงื่อนไขที่ระบุไว้ arrage(): มักถูกเรียกใช้เพื่อจัดเรียงลำดับข้อมูล(มากไปน้อย, น้อยไปมาก) ตามเงื่อนไข(สามารถเลือกจัดเรียงจากข้อมูลหลักเดียว หรือ หลายหลักรวมกันได้) เมื่อประมวลผลเสร็จฟังก์ชันก็จะคืนค่าข้อมูลที่ได้รับการจัดเรียงเสร็จเรียบร้อยแล้ว mutate(): มักจะใช้สำหรับเพิ่มหลัก(column)ใหม่ ให้กับข้อมูล ซึ่งข้อมูลใหม่นั้นมักจะเป็นข้อมูลที่ได้มาจากการคำนวณจากข้อมูลเดิมที่มี เช่น คำนวณค่าเฉลี่ยจากข้อมุล Read more about R – ลองใช้ dplyr กับ ggplot2 ในการจัดรูปแบบข้อมูลและพลอตเป็นกราฟแบบต่างๆดู[…]