HappyValentinesDay

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(3*t)-1*cos(4*t)

p<-c(“H”, “a”, “p”,”p”,”y”,”V”,”a”,”l”,”e”,”n”,”t”,”i”,”n”,”e”,”s”,”D”,”a”,”y”)

plot(x,y, type=”p”,pch=p,col=colors,xlab=”X”,ylab=”Y”)

heart R

ตัวอย่าง SGE job file สำหรับส่งงาน R ที่ใช้ Rmpi

## 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

สำหรับคนที่สนใจหรือใช้งาน 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 เพิ่ม

การติดตั้ง 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”))

%d bloggers like this: