2013年11月15日 星期五

Advanced R programming - free ebook

近期 ggplot2 套件作者- Hadley Wickham 即將出版 進階R程式設計(Advanced R programming) 書籍並提供免費線上參考資料,書本除了第一章簡介之外,其他包括:

1. Foundations
2. Functional programming
3. Metaprogramming
4. Performant code

等四大部份. 其中 Memory 有提供 R 記憶體管理議題.

LINK:
http://adv-r.had.co.nz/

2013年11月4日 星期一

近期R資料探勘與R資料視覺化課程

參考下列近期 R資料探勘與R資料視覺化課程(依上課日期排列):

1. 資策會教育訓練研究所
課程:Big Data資料分析二部曲-R軟體與資料探勘
上課日期:102年11月23日~24日

2. 資策會教育訓練研究所
課程:Big Data資料分析三部曲-R軟體與資料視覺化
上課日期:102年11月30日~12月1日

3. 研碩資訊
課程:輕鬆學會 R 軟體 --- 資料視覺化
上課日期:102年12月2日~3日

2013年11月1日 星期五

mac 中文字型 plot

Mac 作業系統繪製  R 圖形結果中,會有中文字型無法顯示,即只會顯示方框結果。
解決方式:

1. 先利用 字體簿 檢查Mac 可使用之中文字型,本例採用楷體,即 "STKaiti"。

2. 輸入 par(family="STKaiti") 即可指定繪圖採用之字型。繪製結果如下,標題等已可以完整顯示中文:


# title: chinese font plot setting in Mac
# date: 2013.11.2
par(family="STKaiti")
sales <- c(11,13,16,10,19)
plot(sales, main="RWEPA公司102年1月至6月銷售統計圖", 
     type="b", xlab="月份", ylab="銷售金額(萬元)")
# end

2013年10月8日 星期二

Task Views - R套件

更新日期: 2024.02.27 - 44個套件類別

CRAN Task View: 

https://cran.csie.ntu.edu.tw/web/views/


CRAN (Taiwan): 


選取 CRAN 網站左側 [Packages] , 套件區分成以下類別,  中文說明如下:

-------------------------------------------------------
1;ActuarialScience;Actuarial Science;精算學
2;Agriculture;Agricultural Science;農業學
3;Bayesian;Bayesian Inference;貝氏統計
4;CausalInference;Causal Inference;因果推論
5;ChemPhys;Chemometrics and Computational Physics;計量化學與計算物理
6;ClinicalTrials;Clinical Trial Design Monitoring and Analysis;臨床試驗設計、監測和分析
7;Cluster;Cluster Analysis & Finite Mixture Models;群集分析與有限混合模型
8;Databases;Databases with R;R與資料庫連接
9;DifferentialEquations;Differential Equations;微分方程
10;Distributions;Probability Distributions;機率分配
11;Econometrics;Econometrics;計量經濟
12;Environmetrics;Analysis of Ecological and Environmental Data;生態與環境資料分析
13;Epidemiology;Epidemiology;流行病學
14;ExperimentalDesign;Design of Experiments (DoE) & Analysis of Experimental Data;實驗設計
15;ExtremeValue;Extreme Value Analysis;極值分析
16;Finance;Empirical Finance;實證財務
17;FunctionalData;Functional Data Analysis;函數資料分析
18;GraphicalModels;Graphical Models;繪圖模型
19;HighPerformanceComputing;High-Performance and Parallel Computing with R;高效能與平行運算
20;Hydrology;Hydrological Data and Modeling;水文資料與建模
21;MachineLearning;Machine Learning & Statistical Learning;機器學習與統計學習
22;MedicalImaging;Medical Image Analysis;醫學影像分析
23;MetaAnalysis;Meta-Analysis;整合分析
24;MissingData;Missing Data;遺漏值
25;MixedModels;Mixed  Multilevel and Hierarchical Models in R;混合、多層級與多階層模型
26;ModelDeployment;Model Deployment with R;R模型部署
27;NaturalLanguageProcessing;Natural Language Processing;自然語言處理
28;NumericalMathematics;Numerical Mathematics;數值數學
29;OfficialStatistics;Official Statistics & Survey Statistics;官方統計與調查方法
30;Omics;Genomics, Proteomics, Metabolomics, Transcriptomics, and Other Omics;組學等
31;Optimization;Optimization and Mathematical Programming;最佳化與數學規劃
32;Pharmacokinetics;Analysis of Pharmacokinetic Data;藥物動力學資料分析
33;Phylogenetics;Phylogenetics;譜系學
34;Psychometrics;Psychometric Models and Methods;心理模型與方法
35;ReproducibleResearch;Reproducible Research;可重製研究
36;Robust;Robust Statistical Methods;穩健統計方法
37;Spatial;Analysis of Spatial Data;空間資料分析
38;SpatioTemporal;Handling and Analyzing Spatio-Temporal Data;時空資料處理與分析
39;SportsAnalytics;Sports Analytics;運動分析
40;Survival;Survival Analysis;存活分析
41;TeachingStatistics;Teaching Statistics;統計教學 
42;TimeSeries;Time Series Analysis;時間序列分析
43;Tracking;Processing and Analysis of Tracking Data;追蹤資料的處理與分析
44;WebTechnologies;Web Technologies and Services;網頁技術與服務
-------------------------------------------

說明:
2023.9.4 - 44個套件類別

新增 ActuarialScience 精算學包括以下主題:

+ Life insurance
+ Non-life insurance
+ Reinsurance and extreme events
+ Risk measures
+ Miscellaneous
+ Bibliography

# 2023.4.11 - 43個套件類別

新增 Omics 組學等, 包括以下主題:

+ Annotation and databases
+ Genomics
+ Transcriptomics
+ Proteomics
+ Metabolomics
+ Other omics
+ Multiple omics
+ Specific tasks
+ Specific application fields


# 2022.11.22 - 42個套件類別

新增 Phylogenetics 譜系學包括以下主題:

+ Core packages
+ Tasks
+ Getting trees into R
+ Tree manipulation
+ Tree visualization
+ Tree comparison ...

# 2022.10.25 - 41個套件類別

新增 MixedModels(Mixed, Multilevel, and Hierarchical Models in R) 混合模型, 包括以下主題:

1.Linear mixed models (LMM)
+ Frequentist
+ Bayesian
+ Generalized linear mixed models (GLMMs)

2.Nonlinear mixed models

3.Hierarchical modeling frameworks
+ Model diagnostics and summary statistics
+ Model diagnostics
+ Summary statistics
+ Derivatives ...

# 2022.9.29 - 40個套件類別

新增 Agriculture (Agricultural Science) 農業科學, 包括以下主題:

1. General applications

+ Agricultural & land use databases
+ Agricultural data sets
+ General analytical packages

2. Discipline-specific packages

+ Agricultural economics
+ Agrometeorology
+ Agronomic trials
...

# 2022.07.13 - 39個類別套件

新增 CausalInference (Causal Inference) 因果推論, 包括以下相關主題:

  1. Methods for randomized controlled trial (RCT) and other experimental data
  2. Average treatment effect estimation and other univariate treatment effect estimates
  3. Heterogeneous treatment effect estimation
  4. Policy learning and dynamic treatment regimes
  5. Structural equation models, do-calculus causal discovery
  6. Specific types of data
  7. Specific application fields

# 2022.06.12 - 38個類別套件

新增 Epidemiology 流行病學, 包括以下相關主題:

R 漸漸成為流行病學的標準,提供從研究設計到流行病學資料探索、建模、預測和模擬的廣泛工具。主要包括以下5大類別:

  1. Data visualization                     資料視覺化
  2. Infectious disease modeling     傳染病建模
  3. Environmental epidemiology   環境流行病學
  4. Helpers                                      實用工具
  5. Data packages                           資料套件, 包括 COVID-19

# 2022.05.26 - 37個類別套件
新增 SportsAnalytics, Sports Analytics, 運動分析, 包括以下相關功能:
  1. General                             一般色彩設定
  2. American Football            美式足球
  3. Association Football         英式足球
  4. Australian Rules Football 澳式足球
  5. Baseball                            棒球
  6. Basketball                         籃球
  7. Chess                                西洋棋

# 2022.04.8 - 36個類別套件
刪除 Genetics, Statistical Genetics, 遺傳統計
刪除 Phylogenetics, Phylogenetics, Especially Comparative Methods, 系統演化, 比較性方法

# 2022.03.13 - 38個類別套件
刪除 Multivariate, Multivariate Statistics, 多變量統計
刪除 SocialSciences, Statistics for the Social Sciences, 社會科學統計

# 2022.01.26 - 40個類別套件
更名 Graphics 為 GraphicalModels
刪除 gR 類別套件

# 2020.03.1 - 41個類別套件
新增 Tracking 套件

# 2019.3.19 - 40個類別套件
新增 TeachingStatistics 套件, 主要為統計教學而不是R教學, 包括以下三大類別:
1. Teaching 統計教學
2. Examination 測驗 --> 可以自我練習統計知識 ^_^
3. Packages associated with Statistics books 統計書籍套件

# 2019.1.14 - 39個類別套件
新增 Hydrology 套件, 包括水文,氣象資料來源,分析,建模等六大應用:
1. Data Retrieval
  • Hydrological data sources
  • Meteorological data
2. Data Analysis


  • Data tidying
  • Hydrograph analysis
  • Meteorology 

3. Other
4. Spatial data processing
5. Modeling
6. Statistical modeling

# 2018.11.11 - 38個類別套件
新增 Databases套件,包括以下三大應用:
1. Relational Databases
2. Non-Relational Databases (NoSQL)
3. Databases Tools

# 2018.10.27 - 37個類別套件
新增 MissingData套件,包括以下七大應用:
1. Exploration of missing data
2. Likelihood based approaches
3. Single imputation
4. Multiple imputation
5. Weighting methods
6. Specific types of data
7. Specific application fields

# 2018.4.9 - 36個類別套件
新增 ModelDeployment 套件, 包括以下二大模型佈署:
1. Deployment through Different Types of Artifacts
2. Deployment through Cloud/Server

# 2017.5.7 - 35個類別套件
新增 FunctionalData 函數資料, 提供極值的估計與建模等, 功能包括:
General functional data analysis 廣義函數資料分析
Regression and classification for functional data 迴歸與分類函數資料
Clustering functional data 集群函數資料
Registering and aligning functional data
Time series of functional data 時間序列函數資料
Other 其他函數資料

# 2017.2.15 - 34個類別套件
新增 ExtremeValue 極值, 提供極值的估計與建模等, 功能包括:
Univariate Extreme Value Theory 單一變數極值理論
Bivariate Extreme Value Theory 雙變數極值理論
Multivariate Extreme Value Theory 多變數極值理論
Classical graphics 經典繪圖

# 2016.11.1 - 33個類別套件
新增 NumericalMathematics 數值數學, 功能包括:
數值型線性代數與矩陣運算
多項式求根
微分與積分
內差法與近似法
計算根值
其他程式介面(MATLAB, Octave, and Python)

# 2013.10.8 - 32個類別套件
R-3.0.2 - 區分成32個類別套件

# 2020.4.29 - 30個基礎套件
# 本篇記錄套件安裝結果, R-4.0.0 預設安裝完成的套件有30個, 包括以下套件:
1. base
2. boot
3. class
4. cluster
5. codetools
6. compiler
7. datasets
8. foreign
9. graphics
10. grDevices
11. grid
12. KernSmooth
13. lattice
14. MASS
15. Matrix
16. methods
17. mgcv
18. nlme
19. nnet
20. parallel
21. rpart
22. spatial
23. splines
24. stats
25. stats4
26. survival
27. tcltk
28. tools
29. translations (# 2021.8.19 Mac 無此套件, 預設Mac 有29個套件
30. utils

# 2020.5.24
translations 套件 - Translating R Messages, R <= 2.15.3
https://developer.r-project.org/Translations.html

# 2020.5.24
# 預設套件安裝目錄
.Library

# Windows -
"C:/PROGRA~1/R/R-40~1.0/library"

# macOS 10.15 Catalina -
"/Library/Frameworks/R.framework/Resources/library"


# Ubuntu 18.04.4LTS -
"/usr/lib/R/library"

# 套件安裝目錄
.libPaths()

# Windows -
"C:/Users/rwepa/Documents/R/win-library/4.0" "C:/Program Files/R/R-4.0.0/library"

# macOS 10.15 Catalina -
"/Library/Frameworks/R.framework/Versions/4.0/Resources/library"

# ubuntu 18.04.4LTS -
"/home/rwepa/R/x86_64-pc-linux-gnu-library/4.0"
"/usr/local/lib/R/site-library"
"/usr/lib/R/site-library"
"/usr/lib/R/library"

2013年9月10日 星期二

2013 R Taiwan 研討會與徵求演講! (12月6日星期五)

Dear All,

中華R軟體學會將在102年12月6日 (星期五) 辦理"2013 R Taiwan 研討會", 參考以下說明, 期待您的參與.

2013 R Taiwan 研討會與徵求演講! (12月6日 星期五)

大會宗旨:本研討會旨在提供學術界與產業界一個交流平台,針對 R軟體各領域的應用,進行觀摩討論,期使R軟體深植於學術研究與產業活動中。

舉辦日期:102年12月6日 (星期五)

舉辦地點:德明財經科技大學(綜合大樓A506會議廳)

主辦單位:中華R軟體學會‧德明財經科技大學(管理學院物流管理系暨連鎖加盟學位學程)

協辦單位:台灣資料科學與商業應用協會‧台北商業技術學院資訊與決策科學研究所‧
                    東吳大學海量資料分析研究中心‧育達科技大學資訊管理系所‧Taiwan R User Group

徵求主題:
請提供一頁A4摘要,寄送至下列電子郵件(event2013@twdatascience.org),內容與R軟體在下列主題之應用相關,但不僅限於下列應用:

1.資料探勘
2.機器學習
3.多變量統計
4.穩健統計方法
5.資料視覺化
6.實驗設計
7.最佳化應用
8.生物資訊學
9.計量經濟學與財務
10.環境與生態統計
11.醫藥統計學
12.心理計量學
13.空間統計學
14.社會與政治科學統計
15.高效能運算

大會網址:http://www.twdatascience.org/event2013

★歡迎對 R 軟體有興趣之各界人士踴躍參加★

2013年9月6日 星期五

資料視覺化( data visualization) - 如何將 R 與 Google 地圖相結合

資料視覺化應用包括將地理位置資料 (如: 經,緯度資料) 直接顯示於地圖之中. R 包括多種套件可完成地理資料視覺化, 本篇介紹 RgoogleMaps 套件.

範例: 育達科技大學在哪裡, 標示主要交通方式.

說明:
1. 先找出 育達科技大學 的經, 緯度資料, 方法: 在Google Map 中輸入"育達科技大學 ", 在地圖中選取該位置 \ 按 右鍵 \ 這是哪裹?畫面上方顯示 24.650138,120.847179 即為經度, 緯度.

2. 同理依序找出下列位置度, 緯度:
    竹南交流道 Zhunan Intercept
    頭份交流道 Toufen Intercept
    竹南火車站 Zhunan Station

3. 參考以下程式碼: R-YuDa-map-RgoogleMaps.R

# title: maps with RgoogleMaps package
# date: 2013.9.6

library(RgoogleMaps)
# location: YuDa University, Zhunan Station, Zhunan and Toufen Intercept
lats <- c( 24.650138, 24.686601, 24.679427, 24.691631)
lons <- c(120.847179, 120.88063, 120.846945, 120.918313)
center <- c(mean(lats), mean(lons))
zoom <- min(MaxZoom(range(lats), range(lons)))

# download a static map from the Google server
MyMap <- GetMap(center=center, zoom=zoom, markers = "&markers=color:blue|label:G|24.651113,120.842976&markers=color:red|label:T|24.686601,120.88063&markers=color:red|color:red|label:I|24.679427,120.846945&markers=color:red|color:red|label:I|24.691631,120.918313", destfile="YuDa-map.png")

# add arrows
s <- seq(length(lats)-1)
PlotArrowsOnStaticMap(MyMap, lat0=lats[1], lon0=lons[1]+0.001, lat1=lats[s+1]+0.001, lon1=lons[s+1], col='red', lwd=2, code=1)

# add texts
TextOnStaticMap(MyMap, lat=lats[1],lon=lons[1], "Yu Da University of Science and Technology", cex=0.8, col='red', add=TRUE)
TextOnStaticMap(MyMap, lat=lats[2],lon=lons[2], "Zhunan Station", cex=0.8, col='red', add=TRUE)
TextOnStaticMap(MyMap, lat=lats[3],lon=lons[3], "Zhunan Intercept", cex=0.8, col='red', add=TRUE)
TextOnStaticMap(MyMap, lat=lats[4],lon=lons[4], "Toufen Intercept", cex=0.8, col= 'red', add=TRUE)
# end
4. 連結四個位置與箭頭之結果.

2013年8月10日 星期六

RODBC 與 SQL Server 資料匯入與寫入

Problem:
如何將 R 資料寫入至 SQL Server 資料庫

Analysis:
針對 SQL Server 資料庫可採用 RODBC 套件, 其中 sqlQuery 指令可執行資料匯入至R與將R物件寫入SQL資料庫.

步驟 1


先在 ODBC 管理員中新增 SQL Server ODBC 資料來源, 考慮連結名稱是R_SQL2008」.
步驟 2
考慮某 Northwind 資料庫, 其中包括 Orders 資料表, 如下圖所示.

步驟 3
先執行 library(RODBC), 再利用 odbcConnect 連結至SQL Server ODBC 資料來源, 最後配合 sqlQuery SQL 指令將資料匯入至R. class 結果可知為資料框架物件(data.frame). 利用 table 指令可計算各運送國家的個數. 平均數 mean 亦可加以使用.

步驟 4
考慮 Shippers 資料表有3筆記錄.

步驟 5
利用 names 指令可了解資料表欄位名稱

步驟 6
在 sqlQuery 中配合 INSERT INTO  指令可將R資料寫入SQL 資料庫, 其中第一個欄位(ShipperID)為自動編號主索引鍵, 因此該欄位不用加在 INSERT INTO 指令中, 最後再次讀取資料已新增為4筆.

步驟 7
新增資料 INSERT 語法如下: 

完整R code:

# end
謝謝 R user- Chang 提供此問題. 

Data mining with Rattle – ROC curve (SVM and NN)

# 範例說明 R圖形化使用者介面 rattle 套件 執行 ROC curve 比較


步驟 1
安裝並執行 rattle 套件-資料探勘使用者介面
install.packages(“rattle”)
library(rattle)
rattle()

步驟 2
匯入kernlab套件的資料集spam, 一般採用 spam {kernlab} 表示, 步驟如下:

Data \ Source: 選取 Library \ Data Name: 選取 spam:kernlab:Spam E-mail Database \ 執行.

匯入 spam 資料結果, 此為垃圾郵件資料集, 其中第58個變數是目標變數且為類別型資料, R中屬於因子(factor)資料物件, 在最下列訊息區顯示全部有 4601筆觀測值, 58個輸入變數, 可使用分類模型.

步驟 3
Rattle Support Vector Machines 方法, 採用 kernlab 套件的ksvm方法, R console 視窗中輸入以下指令可查詢其使用說明.
library(kernlab)
?ksvm

Model \ Type 選取 SVM \ Kernel 採用預設值 Radial Basis (rbfdot) \ 執行.

步驟 4
使用 Neural Network 方法, Rattle 採用 nnet 套件的nnet 方法, 該方法採用Feed-forward neural networks 且為一個隱藏層 (hidden layer), 預設節點數是十個.
Model \ Type 選取 Neural Net \ 執行.

步驟 5
模式比較主要採用 ROC curve 方法.

Rattle 會針對之前已完成的模型進行效益評估.

Evaluate \ Type: 選取 ROC \ Model: SVM , Neural Net 打勾 \ 按 執行.

步驟 6
考慮實際結果有二種情形(Yes, No), ROC curve視窗中x軸表示 False Positive (FP) rate (實際為N, 但預模型分類為Y, 此時FP愈小愈好), y軸表示 TP rate (實際為Y, 且預模型分類為Y, 此時FP愈大愈好), 因此, ROC曲線愈偏向左上角愈好,即曲線以下面積較大者較佳. 由圖形可知 ksvm 較偏向於左上角位置, 因此採用 svm 較佳。

下載說明: r-rattle-ROCcurve.pdf
# end

2013年8月9日 星期五

boxplot 繪圖-x 軸字型大小設定

Problem:
採用 boxplot 繪圖時,  x軸群組個數太多有可能會導致x軸群組文字無法顯示.

Analysis:
採用 cex.axis 指令即可放大(>1)或縮小(<1)其大小, 參考以下R指令:




比較下列圖形, 左圖預設值結果無法完整呈現群組文字, 右圖採用 cex.axis 參數設定, x軸群組文字較小且10個x軸群組文字皆可顯示.


感謝 R user- James 提供此問題.

2013年5月25日 星期六

R的圖形輸出

感謝 R user- James 提供此問題:

Problem:
R的圖形輸出其畫質會變得不是很清晰等問題.

Analysis:
R中可以採用多種不同輸出格式, 其中以 pdf 格式較佳, 如果 tiff , eps 有做參數調整, 應該也是不錯的選擇, 詳細設定參考 ?tiff , ?pdf 指令。在 RStudio 軟體中亦可直接選取 Export \ Save Plot as Image ... 輸出圖檔, 參考以下 R codes.

graphics-export.R


pdf原圖

pdf 放大200%

使用wubi軟體安裝 Ubuntu

# 本篇文章說明在Windows 環境中利用wubi免費軟體安裝 Ubuntu.


# step 1 下載 wubi


連結wubi 首頁, http://wubi-installer.org/

選取 [Get the installer]

選取 [Not now, take me to the download]

按 [儲存]

# step 2 安裝32位元 Ububtu

因執行環境為 Windows 7 - 64位元, 因此預設安裝64位元Ubuntu, 如果希望安裝 32位元Ubuntu, 則須執行此步驟, 否則直接採用step 3.

選取 wubi.exe, 按 右鍵 \ 建立捷徑

按 右鍵 \ 內容 \ 目標中最後輸入 「--32bit」, 按 確定.

雙按此捷徑即可安裝 32位元 Ubuntu.

# step 3 安裝64位元 Ububtu

選取 wubi.exe

Ubuntu安裝程式畫面中輸入 使用者名稱, 密碼.

安裝畫面.


安裝完成後選取 控制台 \ 程式和功能 會包括 Ubuntu 的程式, 如果將來不再使用, 按 [解除安裝變更] 即可移除 Ubuntu.

# step 4 使用 Ububtu

重新開機會有二個選項 Windows 7 與 Ubuntu, 選取第2個 Ubuntu 即可使用 Ubuntu.

2013年5月5日 星期日

Ubuntu 安裝統計軟體 R


# 本篇文章說明 Ubuntu 環境中安裝統計軟體R,全部有7個步驟 (參考 pdf 下載)。

# 2023.6.23
# Ubuntu 22.04.2 LTS 安裝 R-4.3.0

步驟1. Set new Ubuntu repositories
sudo apt install -y --no-install-recommends software-properties-common dirmngr

步驟2. Add the keys
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc

步驟3. add the R repo from CRAN
sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

步驟4. Install R 4.3.0
sudo apt install -y r-base r-base-core r-recommended r-base-dev

# 參考以下 R 完成畫面.







# 2023.6.23
# Ubuntu 22.04.2 LTS 安裝 RStudio

# 步驟1. 安裝模組
sudo apt install libclang-dev libpq5

# 步驟2. 下載RStudio
cd Downloads
wget https://download1.rstudio.org/electron/jammy/amd64/rstudio-2023.06.0-421-amd64.deb

# 步驟3. 安裝RStudio
sudo dpkg -i rstudio-2023.06.0-421-amd64.deb

# 參考以下 RStudio 完成畫面.




# 2017.7.2 更新

# CentOS 7 安裝R:
sudo yum install epel-release
sudo yum install R

# CentOS 7 更新R:
sudo yum update R

# step 1 檢視 Ubuntu 版本

lsb_release –a

# step 2 備份sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# step 3 編輯sources.list

sudo gedit /etc/apt/sources.list

# 在檔案最後新增一列與以下內容
deb http://cran.csie.ntu.edu.tw/bin/linux/ubuntu quantal/
注意:隨著版本不同,最後加上 quantal 可能修改成合適版本。

# 按 File->Save 儲存檔案

# step 4 更新套件

sudo apt-get update

# step 5 安裝R

sudo apt-get install r-base

或採用包括發展工具等套件指令(建議採用以下方法加上 r-base-dev)
sudo apt-get install r-base r-base-dev

# step 6 執行R

在終端機視窗中輸入 R 即可開啟R視窗

# step 7 新增至左側啟動器

選取 啟動器最上方 Ubuntu 按鈕,輸入 r,將R圖示拖拽至左側啟動器,下次直接按R圖示即可。
 # end #

下載 ubuntu_install_R.pdf




2013年4月13日 星期六

Rcpp 套件與C++應用


Rcpp 套件提供 R 與 C++ 函式庫(library) 之間的整合應用。在 R 程式中可直接使用 C++ 語法,以加速 R 的執行效率。

1. 使用 Rcpp 套件之事前準備

使用Rcpp套件之前須配合Rtools程式的使用,Rtools包括gcc編譯器。在R的Windows版本下載網頁中包括Rtools的下載連結, 請選取最新版本 Rtools30.exe。Rtools安裝方式採用選取下一步(next)即可,其中32位元與64位元安裝目錄須保持原設定,不要更改。在「Select Additional Tasks」選項中,請將 □Edit the system PATH與 □Save version number 3.0 in registry二個選項打勾。詳細安裝程序參考以下檔案之附錄說明。

https://github.com/rwepa/DataDemo/blob/master/Rcpp-Rtools-tutorial.pdf

Rcpp 執行時配合 R 的安裝目錄且安裝目錄中不可有空白,因此建議 Windows 中預設R安裝目錄為 C:\R\R-2.15.3 較不會有錯誤。
Rcpp-Rtools-tutorial.R

2. Rcpp 套件之使用範例

Rcpp套件使用可區分成二種情形:方法1. 在C++中使用R程式碼,方法2. 在R中`使用C++程式碼。方法2包括cppFunction( ) 方法、sourceCpp( ) 方法。在 R 中使用 Rcpp 時,C++ 矩陣仍採用 x[i, j] 格式, 與原C++ 採用 x[i][j] 略有不同。以下範例比較 cppFunction 方法與傳統 R loop方法,Rcpp執行時間可能差異達 100倍以上(確定是 Rcpp 較快)。程序輸入是 matrix,輸出是scalar 。

3. 參考資料

Hadley github https://github.com/hadley/devtools/wiki/Rcpp
Rstudio http://www.rstudio.com/ide/docs/advanced/using_rcpp
Eddelbuettel, D. http://dirk.eddelbuettel.com/code/rcpp.html