R code สำหรับวันแห่งความรัก 🙂
t<-seq(-pi, pi,0.05)
colors<-rainbow(length(t))
x<-16*sin(t)^3
y<-13*cos(t)-5*cos(2*t)-2*cos(
p<-c(“H”, “a”, “p”,”p”,”y”,”V”,”a”,”l”,”e”,”
plot(x,y, type=”p”,pch=p,col=colors,xlab
สักงอย ดอท คอม
## Rocks 6.0
#!/bin/bash
#$ -N TestRmpi
#$ -pe mpi 16
#$ -cwd
#$ -j y
#$ -S /bin/bash
#
echo “Program start at: `/bin/date`.”
echo “Got $NSLOTS slots.”
/opt/openmpi/bin/mpirun -np 1 /usr/bin/R –slave CMD BATCH rmpitest.R
echo “Program finish at: `/bin/date`.”
———————–
### rmpitest.R
# Load the R MPI package if it is not already loaded.
if (!is.loaded(“mpi_initialize”)) {
library(Rmpi,lib.loc=”/share/apps/Rlib”)
}
# Spawn as many slaves as possible
mpi.spawn.Rslaves()
# In case R exits unexpectedly, have it automatically clean up
# resources taken up by Rmpi (slaves, memory, etc…)
.Last if (is.loaded(“mpi_initialize”)){
if (mpi.comm.size(1) > 0){
print(“Please use mpi.close.Rslaves() to close slaves.”)
mpi.close.Rslaves()
}
print(“Please use mpi.quit() to quit R”)
.Call(“mpi_finalize”)
}
}
# Tell all slaves to return a message identifying themselves
mpi.remote.exec(paste(“I am”,mpi.comm.rank(),”of”,mpi.comm.size()))
# Tell all slaves to close down, and exit the program
mpi.close.Rslaves()
mpi.quit()
สำหรับคนที่สนใจหรือใช้งาน R ใน Mathematica (version < 9.0) ลองดูตัวอย่างที่นี่นะครับ http://mathematica.stackexchange.com/questions/844/are-there-any-rlink-like-projects-which-enable-the-interaction-between-r-and
ซึ่งต้องติดตั้ง RAndFriends (http://rcom.univie.ac.at/download.html) ก่อนนะครับ (แนะนำเลยครับตัวนี้ สะดวกมากๆ)
ตัวอย่าง Code
Needs[“NETLink`”]
myR = CreateCOMObject[“StatConnectorSrv.StatConnector”]
myR@Init[“R”]
myR@SetSymbol[“xxx”, 12321]
result1 = myR@GetSymbol[“xxx”]
myR@EvaluateNoReturn[“randmat<-matrix(rnorm(100),10)”]
rmat = myR@GetSymbol[“randmat”]
result2 = myR@Evaluate[“solve(matrix(1:4,2))”]
เพิ่มเติม
R http://mpec.sc.mahidol.ac.th/forums/index.php/topic,2817.0.html
RStudio http://mpec.sc.mahidol.ac.th/forums/index.php/topic,5184.0.html
สำหรับใครที่ใช้ Mathematica version 9.0 ขึ้นไปสามารถที่จะเรียกใช้งาน R ได้โดยตรงจาก package ชื่อ RLink ซึ่งมากับตัว Mathematica ได้เลยครับสะดวกมาก ผมเขียนการใช้งานแบบง่ายของ RLink ไว้ที่นี่ครับ การใช้งาน RLink แบบง่ายๆ
การติดตั้ง package ของ R เพิ่ม สำหรับบน Linux ครับ
1. ติดตั้งจาก source
source ที่พูดถึงก็เป็นพวกไฟล์ package ที่มีสกุล tar.gz ที่สามารถ download ได้จากเวบ http://www.r-project.org/ หรือ http://cran.r-project.org/mirrors.html หลังจากที่ download มาแล้วเก็บไว้ที่ เช่น /home/MyAccount/Rlib ก็สามารถพิมพ์คำสั่งนี้ได้เลย
$ R CMD INSTALL ชื่อไฟล์.tar.gz -l /home/MyAccount/Rlib/
2. ติดตั้งจากเวบ CRAN โดยตรง
พิมพ์คำสั่งนี้ใน R console สำหรับติดตั้ง package ที่ต้องการไว้ที่ /home/MyAccount/Rlib
> install.packages(“ชื่อ package”, lib=”/home/MyAccount/Rlib/”)
หลังจากติดตั้งแล้วจะเรียกใช้ก็ให้พิมพ์ใน R console คำสั่ง นี้ครับ
library(“ชื่อ package”, lib.loc=”/home/MyAccount/Rlib/”)
ถ้าหากมีปัญหาว่าต้องโหลดผ่าน proxy ก็ให้ลอง export http_proxy=”http://proxy:port” ดูครับ
3. ติดตั้งจาก github
กรณีที่อยากติดตั้ง package ที่อยู่บน Github เราสามารถทำได้โดยใช้คำสั่ง install_github ของ devtools ครับ เช่น
library(devtools)
install_github(“package”)
หรือถ้าต้องการระบุ path ที่จะเก็บpackageนี้ด้วยก็ทำได้โดยใช้ with_libpaths เช่น
with_libpaths(new=”/home/MyAccount/Rlib”, install_github(“package”))