ติดตั้ง CmdStan บน Windows 10

ตัวอย่างการติดตั้ง CmdStan (2.17.1) บน Windows 10 ครับ ในที่นี้ ผมใช้กับ Rtools 3.5 ครับ เริ่มจากการที่เราไป download ตัว zip ของ CmdStan แล้วก็ extract ไว้ที่ไหนสักแห่งตามต้องการครับ จากนั้นก็เปิด Command Prompt ของ Windows ครับ แล้วใช้คำสั่ง cd เพื่อเปลี่ยนไปยัง path ของ CmdStan ที่ extract ไว้ครับ แล้วก็ทำการสร้างไฟล์ ชื่อ local (ไม่มีสกุลต่อท้าย) ในโฟลเดอร์ที่ชื่อ make ที่อยู่ path ของ CmdStan โดยในไฟล์ local นี้มีสองรรทัดนี้ครับ CC=g++ CXX=g++ จากนั้นก็พิมพ์ PATH = c:\rtools\mingw_64\bin;c:\rtools\bin;$PATH เพื่อทำการเซ็ตค่า

ใช้งาน gcc ที่มากับ Rtools ใน Mathematica

ใน Rtools จะมี compiler ของ gcc (mingw) มาด้วยแล้วทั้งที่เป็นแบบ 32 bits และ 64 bits หากอยากจะเอาไปใช้ใน Mathematica ก็ต้องเรียกผ่าน CCompilerDriver`GenericCCompiler` ครับ แล้วเพียงเซ็ต Path ของ gcc จาก Rtools นี้ให้ถูก เช่น Needs["CCompilerDriver`GenericCCompiler`"] ทดลองเรียกใช้งาน greeter = CreateExecutable[StringJoin[ "#include <stdio.h>\n", "int main(){\n", " printf(\"Hello MinGW-w64 world.\\n\");\n", "}\n"], "helloworld", "Compiler" -> GenericCCompiler, "CompilerInstallation" -> "C:/Rtools/mingw_64", "CompilerName" -> "x86_64-w64-mingw32-gcc.exe"] Import["!\""<>greeter<>"\"","Text"] Hello MinGW-w64 world. ที่นี่ถ้าอยากจะให้

Thai fonts by SIPA

You can download SIPA Thai fonts from http://www.f0nt.com/author/sipa/. But If you would like to download just only one zip file that has all of them, you can download it from Here.    

ใช้งาน OpenCLLink บนเครื่อง Dell XPS 13

ผมเพิ่งสั่งเครื่องxps 13 9370 มาใช้งานกับMathematica (Windows 10) โดยใช้กับแพ็คเกจ OpenCLLink เป็นหลักพูดง่ายๆก็คือจะใช้งานที่เกี่ยวกับการคำนวณที่ใช้ gpu เหตุที่ต้องใช้ OpenCL ไม่ใช้ CUDA เพราะ การ์ดที่มีกับเครื่องเป็น intel uhd m620 ครับ แต่ก็มีแผนจะใช้ การ์ด nvidia แบบ eGPU ครับ การใช้งาน OpenCL บนเครื่องนี้กับMathematicaเราต้องติดตั้ง amd app sdk ก่อนครับ ไม่เช่นนั้นคำสั่ง OpenCLQ ของ Mathematica มันจะให้ค่า false แล้วมันจะใช้งานไม่ได้ครับ เพิ่มเติม: ส่วนที่จะใช้ OpenCL กับ visual studio ก็ให้ลง intel sdk for opencl applications ครับ    

Inkscape กับ ggplot

เสียเวลาพอสมควรที่ต้องมาคอยจัดระยะห่างในเอกสารโดยเฉพาะกราฟต่างๆที่ต้องนำมาวางให้อยู่ด้วยกันเป็น grid หรือตาราง โดยใน R นั้นคำสั่งที่ผมใช้เยอะก็พวก คำสั่ง plot_grid หรือแม้แต่ option ของ ggplot อย่าง plot.margin นั้นบางที่มันก็ทำให้กะขนาดเอายากพอสมควร นี่ยังไม่รวมเรื่อง scale หรือขนาดของ fonts อีก …. โอย…. วิธีที่พอช่วยเรื่องพวกนี้ได้บ้างก็คือ หลังจากที่ export เป็น pdf ของกราฟที่ต้องการจาก plot_grid แล้วก็อาศัย Inkscape มาช่วยในการขยับกราฟให้อยู่ในตำแหน่งที่ต้องการ วิธีการก็แสนจะง่าย เพียงแค่เปิดไฟล์ pdf ใน Inkscape จากนั้นก็ click หรือลากกราฟที่จะย้าย หรือจะเพิ่มเติมอะไรลงไปเลยยังได้ แนะนำให้ติดตั้ง Inkscape ไว้ที่เครื่องครับ อีกตัวก็เป็น sumatra pdf ครับมันจะเร็วดีครับในการเปิดเอกสาร pdf แต่จะแก้ไขเพิ่มเติมอะไรไม่ได้ครับ  

undocumented Mathematica functions

Mathematica แต่ล่ะเวอร์ชั่นจะมีคำสั่งใหม่ๆแปลกๆ และเจ๋งๆเพิ่มขึ้นมาเสมอ และบ่อยครั้งก็จะมี functions ที่ไม่เอกสารอธิบายการทำงานของ functions แปลกใหม่นั้น แต่มันก็มีกลุ่มคนที่ใช้งาน Mathematica แบบ hardcore หน่อยที่ชอบเปิดดู code ที่เขาเขียนมา ชอบหาอะไรแปลกเพื่อหาดูว่าจะปรับปรุงแก้ไขปัญหาที่เจอหรือที่กำลังทำอยู่ได้อย่างไร ถ้าสนใจอยากดูว่ามี undocumented functions อะไรที่น่าสนใจลองดูที่นี่ครับ https://mathematica.stackexchange.com/questions/805/what-are-some-useful-undocumented-mathematica-functions undocumented functions นี้พอในเวอร์ชั่นใหม่ๆอาจจะหายหรือกลับมาก็แล้วแต่ว่ามีการปรับปรุงอะไรกันไป หลายครั้งที่อ่านตามเวบอย่าง stackexchange หรือ stackoverflow ก็จะงงๆอยูตลอดเกี่ยวกับพวก undocumented functions นี้ว่าเขาหากันมาอย่างไร แต่ก็มีคนคุยเรื่องกันอยู่บ้างเช่น https://mathematica.stackexchange.com/questions/809/how-can-one-find-undocumented-options-or-option-values-in-mathematica    

เปลี่ยนรูปแบบของตัวเลขเป็นแบบ m*10^n บนแกน ใน ggplot

มีตัวอย่างที่ code ที่นำมาใช้ได้ที่ https://groups.google.com/forum/#!topic/ggplot2/a_xhMoQyxZ4 (โดย Brian Diggs) fancy_scientific <- function(l) { # turn in to character string in scientific notation l <- format(l, scientific = TRUE) l <- gsub("0e\\+00","0",l) # quote the part before the exponent to keep all the digits l <- gsub("^(.*)e", "'\\1'e", l) # turn the 'e+' into plotmath format l <-

จาก Shiny สุดท้ายกลับมา CDF

บ่น ๆๆ ตัว Shiny เวลาที่วาดกราฟด้วย ggplot2 มันค่อนข้างช้าพอสมควร ยิ่งถ้ามี function ที่ต้องคำนวณให้ได้ข้อมูลก่อนมาวาดกราฟนี่ยิ่งหนักเลย สุดท้ายก็ต้องกลับมาที่ CDF ของ Mathematica เฮ้ออออ … ตัวอย่างข้างล่างนี้ทุกครั้งที่เปลี่ยน index จะมีการคำนวณผลลัพธ์แบบ real time เลยไม่ใช่การเอาผลลัพธ์ที่ได้มาวาดเฉยๆนะครับ แล้วลองสังเกตุความเร็ว  ถ้าเทียบกับ R/Shiny นี่คนล่ะเรื่องเลย   ส่วนอันนี้อีกตัวอย่างที่เอามาไว้โชว์ดูข้อมูลเฉยๆ  ถ้าเห็น code ที่เขียนแล้วจะตกใจเพราะไม่กี่บรรทัดเอง เสียดายที่ภาษา Wolfram หรือ Mathematica นี่ไม่ค่อยเป็นกระแสสักเท่าไหร่ในบ้านเรา ถึงแม้จะสามารถใช้ได้ฟรีใน Raspberry Pi ส่วนตัวคิดว่าน่าจะเอามาใช้สอนเด็กของไทยเรามาก

สีหน้าใน R

ทดสอบ FaceExp  แพ็คเกจ สำหรับหาสีหน้าของคนในรูป  เปิดทดสอบชั่วคราว1 เม.ย ลบครับ(อาจลบก่อนหน้านั้น)  สนใจทดสอบ โหลดได้ที่ https://1drv.ms/u/s!AjSk65t7m_UYiJ1TFDzPtw6hdZJj_g วิธีการติดตั้งก็โหลด ไฟล์ zip ในLink แล้วพิมพ์ install.packages(file.choose(), repos = NULL, type="source") แล้วเลือกไฟล์ที่โหลดมาครับ คำสั่งหลักคือ faceExp(pic.url)  โดยที่ pic.url คือ url ของภาพครับ นั่นหมายความว่าถ้าอยากทดสอบแพ็คเกจนี้ต้องนำรูปโหลดไปไว้ที่ใดก่อน จากนั้นก็นำ url มาใส่ในคำสั่งนี้ได้เลยครับ โดยสีหน้าที่มีคือ happiness, disgust, sadness, neutral, anger, fear, surprise