第七章 R 輔助學習的大環境
Help()
這一章要深入介紹工具列的【輔助】 。儘管 R 提供主控台、編輯器、資料編輯器、R Graphics 的中文使用者介面,但 R 整個體系仍舊是以英文為主體的計算工具。等待一份好的中文使用手冊、等待一本好的中文書、等待一份好的中 文網頁,甚至等待自己的英文變好,都不是良策。為了幫助您快速進入 R 體系,我催生了這一本書。但,如果您 想【無師自通】 ,深入了解 R 自身提供的輔助(help)系統,乃上上之策。
【本章摘要】
help(help)。
初體驗 FAQ 提供的部分議題。
初體驗 FAQ(W)提供的部分議題。
深入參考手冊的部分內容。
知道哪幾本手冊一定要讀!
如何有效率地瀏覽函式的使用說明。
透過 R Example Graph Library、http://www.metaresearch.de/exlib/index.html 在沒有 R 的環境裡學習 R 繪圖。
再一次認識 HTML 輔助系統。
關於 R 的模糊(Fuzzy)搜尋輔助。
深入 CRAN Task View 的主體式輔助系統。
進入 R 書庫 http://www.r-project.org/doc/bib/R-jabref.html
見識 demo()。
1
7.1 關於 R 的 FAQ 這一份 FAQ 記載一些基本問題的答案。其中一項是關於 R 的身世。我的許多朋友對於 R 這樣的免費軟體,抱持著高 度的懷疑,也很想知道我口中讚譽有加的 R 到底是甚麼來頭? 關於 R 的誕生請看第一作者怎麼說
7.1.1 入口
這一頁記載版本序號與它的 ISBN 碼。作者是 Hornik 先生。接著是目錄。 2
7.1.2 簡介這一份免費軟體 先說誰是作者?這一份文件根據甚麼樣的版權協定定義版權?去哪裡取得該項版權協定?網路位置?與地址?
7.1.3 您如何翻書?
7.1.4 有趣的問題
What is R?
What is S?
Why is R named R?
What is S-PLUS?
What is R-plus?
What are the differences between R and S?
Is there anything R can do that S-PLUS cannot?
What is CRAN?
What is R-Forge?
What is a bug?
3
7.1.5 曾經雲端難為 R
我把之前曾經用過的三句話 x = rnorm(50) y = rnorm(x) plot(x, y) 打在上方的大窗子內,然後按一次下方左手邊的【Submit】 。 【RWeb】會回應您
4
7.1.6 關於其他 用 R,您必須清楚甚麼是 1.
工作空間
2.
套件
3.
資料框
4.
命名
所以我把相關的議題節錄下來,但這裡並沒有節錄答案。打開您的 R,點選【輔助】 、 【關於 R 的 FAQ】開始找答案。 或者是,記得以下的節錄內容,當您遇上無法解決問題的時候,才開啟您的【關於 R 的 FAQ】。
關於【工作空間】
How can I save my workspace?
How can I clean up my workspace?
關於【套件】
What is the difference between package and library?
I installed a package but the functions are not there
關於【資料框】
How can I sort the rows of a data frame? Why is read.table() so inefficient?
關於【取名字】
What are valid names? How do file names work in Windows?
5
7.2 R for Windows FAQ 這是針對 Windows 版本的 FAQ。
7.2.1 入口
7.2.2 重要議題 以下是我認為重要的部份議題:
關於【Windows】
I hear about some nifty features: please tell me about them!
Circles appear as ovals on screen.
How do I move focus to a graphics window or the console?
What does TAB completion do?
關於【工作空間】
My workspace gets saved in a strange place: how do I stop this?
How do I store my workspace in a different place?
How can I keep workspaces for different projects in different directories?
What are HOME and working directories?
關於【套件】
Can I install packages into libraries in this version?
I don't have permission to write to the R-2.11.0\library directory.
The packages I installed do not appear in the HTML help system.
My functions are not found by the HTML help search system.
Loading a package fails.
Package TclTk does not work.
Hyperlinks in HTML sometimes do not work.
update.packages() fails.
How do I add to the list of repositories?
Help is not shown for some of the packages
How do I get static HTML pages?
關於【64-bit】
Can I use R on 64-bit Windows?
Should I run 32-bit or 64-bit R?
Can both 32- and 64-bit R be installed on the same machine? 6
7.3 手冊 R 提供了 7 本 PDF 格式的使用手冊。對初學者而言,我會建議您經常性的閱讀
An Introduction to R
R Data Import/Export
R Language Definition
7.3.1 An Introduction to R 這一本您一定要讀。挑戰它!
這一本手冊的作者是
主要內容:
介紹統計物件
數字
向量
因子
列舉
矩陣
資料框
讀取數據 7
機率分配
程式控制元件
寫自己的函式
統計模型
基本繪圖原件
7.3.2 R: A Language and Environment for Statistical Computing 這一本是一本字典,有問題請常翻字典。
主要內容,談這幾個套件
base
datasets
grDevices
graphics
grid
methods
stats
tools
utils
內各個函式或是數據集的使用說明。
7.3.3 R Data Import/Export 有數據才有 R。學習輸入與輸出數據應該是學習 R 的的一件事。
8
作者
主要內容,談讀取各種格式的數據
文字檔
TXT
CSV
其他統計軟體的格式
EpiInfo
Minitab
S-PLUS
SAS
SPSS
Stata
Systat
Octave
資料庫格式
SQL
dBase
低階檔案格式
Socket
DCOM
CORBA
放在網際網路的文字檔
EXCEL 檔案
直接存取檔案內容
9
7.3.4 R Language Definition 當您發現新創意,需要計算、計算,幫助了解創意的表現。絕大部分的統計學家會自己寫程式,模擬、模擬。這時 候,這一本書就是您要看的一本手冊。
手冊的作者
這是關於程式設計的參考手冊,主要內容,談
物件
式子
函式
物件導向
語言原件的計算
與其他程式語言之間的聯繫
處理特殊情況
除錯
語法分析器
7.3.5 Writing R Extensions 創意是需要包裝的!如果您要發表創意,除了寫文章,把您的程式碼上 R 的 CRAN 讓全球使用者試用,其 實是試煉創意的好點子!
10
手冊的作者
主要內容
產生 R 套件
撰寫 R 文件
為 R 程式碼寫基本資料
除錯
與其他程式語言的溝通介面
R API
基礎函式與方法
與使用者介面之間的聯繫
7.3.6 R Installation and Administration 安裝程式或許沒有那麼難!但有時候,就是跟別人的 R 不一樣,或是部份功能找不到,或是沒功能,或是 怪怪的!安裝後,再找時間回來看這一本手冊是提升功力的良方。
11
作者是
主要內容
取得最新的 R 安裝程式
在 Windows 下安裝 R
執行 R
新增套件
國際化與區域化設定
32-bit 還是 64-bit?
Rmath 套件
Windows 工具組
7.4 R 函式(文字檔案)…
7.4.1 打入【normal】
哪麼 help(normal) 會得到甚麼?
一樣的結果。這表示現在本機的 R 體系沒有一個叫做【normal】的函式。R 建議您,繼續嘗試 ??normal 關鍵字查詢。如果您嫌 help 這個字太長,不容易記起來,可以用 ?normal help 的快速鍵是問號【?】。
12
7.4.2 打入【norm】 用 help(norm) ?norm 會得到
這是一份標準的 R 函式使用說明。請繼續看以下的分析。
7.4.3 分析 R Documentation 結構
第一行:
標題:
功能描述:
用法:
輸入變數:
細節:
輸出數值:
參考文獻:
13
建議閱讀:
例子:
最後一行:
如果一開始無法從標題決定是不是我要的函式,通常我會先看【例子】 。用【剪貼】的方式傳給 R 主控台,看看 R 回應甚麼給我,藉以得知該函式是不是我要的。請看【norm】這個函式的第一個例子
7.5 Html 輔助
這個介面其實是整個輔助體系,讓您可以不用點選主控台【輔助】內的細項。如果您想一鍵一字地開啟這一個介面, 14
請用
help.start() 關於這個介面的搜尋引擎部分,請參考前一章。關於手冊的部分,請參考 7.3 節的論述。
7.5.1 About R
7.5.2 Authors
15
7.5.3 Resources
7.5.4 License
7.5.5 Frequently Asked Questions
16
7.5.6 Thanks 這只是部分名單:
7.5.7 NEWS
17
7.5.8 CHANGES
7.5.9 Windows FAQ
7.5.10 Packages
18
7.6 搜尋輔助… 這也是一份搜尋引擎,它只在【函式資料庫】找尋 Fuzzy 配對成功的函式。
7.6.1 打入【normal distribution】
7.7 search.r-project.org…
19
7.8 關於… 字串發生在哪(幾)個函式?
20
7.9 demo() 【示範】是一項很重要的教學技巧。以下這一句對話讓您發現所有已安裝的示範程式,
首先會得到以下這一個【R Demos】視窗
為了要經驗示範程式,您要先載入套件,比如說
library(actuar) 載入後,比如說,您想看第一支,打入
demo(credibility)
上一個畫面表示,R 等您按下【Enter】 。 等 R 執行完畢後,用【PgUp】回到一開始 R 等待的位置,您就可以知道示範程式下了 哪一些命令加上這一些命令 的結果:
21
很可惜, 【R Demos】視窗並沒有提供任何搜尋機制,讓您可以快速找到想看的示範程式。以下是我建議的一種變通 方式: 1.
按下【Ctrl+A】全部選取【R Demos】視窗的內容。
2.
按下【Ctrl+C】把內容複製到剪貼簿。
3.
打開一個有搜尋工具的編輯器。比如說,MS WORD,或是記事本。
4.
我建議記事本,因為它跟著 Windows 一起來,不像 MS WORD 要另外買。
打開搜尋工具
22
把代表【目標】的字串打入最上面的對話框,然後透過一次又一次的【找下一個(F)】搜尋【示範程式】。
寫稿的那一刻,我安裝 R 套件有提供【示範程式】的有: ‘actuar’ ‘adehabitat’ ‘adimpro’ ‘AdMit’ ‘AER’ ‘amap’ ‘amei’ ‘anchors’ ‘animation’ ‘apTreeshape’ ‘AquaEnv’ ‘archetypes’ ‘automap’ ‘aws’ ‘BARD’ ‘BAS’ ‘base’ ‘bayesGARCH’ ‘BB’ ‘betareg’ ‘BiasedUrn’ ‘blockTools’ ‘BLR’ ‘Bmix’ ‘Bolstad2’ ‘bootStepAIC’ ‘bpca’ ‘BTSPAS’ ‘cairoDevice’ ‘candisc’ ‘catnet’ ‘CDNmoney’ ‘ChainLadder’ ‘clim.pact’ ‘clv’ ‘CoCo’ ‘CoCoCg’ ‘CoCoGraph’ ‘CollocInfer’ ‘compositions’ ‘condGEE’ ‘copula’ ‘CPE’ ‘dcemri’ ‘dcemriS4’ ‘ddesolve’ ‘deal’ ‘degreenet’ ‘desire’ ‘deSolve’ ‘diagram’ ‘DiceEval’ ‘distr’ ‘distrEx’ ‘distrMod’ ‘distrSim’ ‘distrTeach’ ‘distrTEst’ ‘drfit’ ‘dse’ ‘dti’ ‘dtw’ ‘dyn’ ‘dynamicGraph’ ‘ecolMod’ ‘EDR’ ‘eiPack’ ‘ElectroGraph’ ‘elliptic’ ‘epicalc’ ‘ergm’ ‘EvalEst’ ‘evd’ ‘evir’ ‘fda’ ‘FKBL’ ‘fmri’ ‘foreach’ ‘fptdApprox’ ‘gap’ ‘gbev’ ‘gbm’ ‘GenABEL’ ‘GEOmap’ ‘GGMselect’ ‘GillespieSSA’ ‘giRaph’ ‘glmc’ ‘gnm’ ‘gof’ ‘gRain’ ‘graphics’ ‘gRbase’ ‘gRc’ ‘gridBase’ ‘grnnR’ ‘gstat’ ‘gsubfn’ ‘haplo.stats’ ‘hash’ ‘hbim’ ‘hddplot’ ‘heplots’ ‘hergm’ ‘HH’ ‘HiddenMarkov’ ‘hsmm’ ‘hybridHclust’ ‘ICEinfer’ ‘iCluster’ ‘iid.test’ ‘intamap’ ‘intamapInteractive’ ‘interval’ ‘ismev’ ‘JudgeIt’ ‘kst’ ‘lattice’ ‘lda’ ‘LDheatmap’ ‘LearnBayes’ ‘LIM’ ‘limSolve’ ‘lokern’ ‘lsa’ ‘ltm’ ‘maanova’ ‘Matching’ ‘MatchIt’ ‘mclogit’ ‘MCMChybridGP’ ‘mcsm’ ‘mefa’ ‘memisc’ ‘minet’ ‘misc3d’ ‘mitools’ ‘MixSim’ ‘mmlcr’ ‘msProcess’ ‘mugnet’ ‘muRL’ ‘mvbutils’ ‘nsRFA’ ‘nws’ ‘oce’ ‘odesolve’ ‘OjaNP’ ‘optmatch’ ‘orloca’ ‘orloca.es’ ‘PairViz’ ‘PBSddesolve’ ‘PBSmapping’ ‘PBSmodelling’ ‘PCIT’ ‘pcse’ ‘Peaks’ ‘PET’ ‘phull’ ‘phyclust’ ‘PKfit’ ‘plan’ ‘plgp’ ‘plotrix’ ‘pmg’ ‘Pomic’ ‘popbio’ ‘portfolio’ ‘POT’ ‘PredictiveRegression’ ‘proto’ ‘PTAk’ ‘ptw’ ‘qAnalyst’ ‘qcc’ ‘qualV’ ‘quantmod’ ‘quantreg’ ‘R2Cuba’ ‘R2HTML’ ‘Ratings’ ‘ReacTran’ ‘registry’ ‘RFOC’ ‘rggobi’ ‘rgl’ ‘RGtk2’ ‘richards’ ‘RLadyBug’ ‘robustX’ ‘ROCR’ ‘rootSolve’ ‘rpanel’ ‘RPMG’ ‘RQuantLib’ ‘RSEIS’ ‘RTOMO’ ‘rv’ ‘Rwave’ ‘rwt’ ‘RXshrink’ ‘Ryacas’ ‘s20x’ ‘saws’ ‘scaRabee’ ‘ScottKnott’ ‘sculpt3d’ ‘seewave’ ‘shape’ ‘shapes’ ‘simecol’ ‘simone’ ‘smatr’ ‘SoDA’ ‘sp’ ‘spam’ ‘SparseM’ ‘spatstat’ ‘spcosa’ ‘splus2R’ ‘spsurvey’ ‘sqldf’ ‘sspir’ ‘STAR’ ‘stats’ ‘stepwise’ ‘stoichcalc’ ‘strucchange’ ‘sugaR’ ‘surveillance’ ‘tcltk’ ‘termstrc’ ‘tgp’ ‘tmvtnorm’ ‘TraMineR’ ‘tsfa’ ‘udunits’ ‘untb’ ‘USPS’ ‘vcd’ ‘vcdExtra’ ‘VGAM’ ‘VhayuR’ ‘waved’ ‘webvis’ ‘WhatIf’ ‘YourCast’ ‘Zelig’ ‘zoeppritz’ ‘zoo’
23
7.10 R Example Graph Library
設計這一個網頁的善心人士,真的非常想給他拍拍手。請看示範:
畫面左邊是套件名稱,右邊是該套件的簡要描述。我繼續點選【ade4】
24
我瀏覽的時候找不到對應的程式碼,所以我用畫面給我的關鍵字試圖從 R 的輔助系統找到畫出上面那一個小圖的程 式碼。請看我的努力:
您會看到這一份使用說明
找到例子段落
接著用剪貼的方式傳給 R,您會看到那個在網頁上發現的圖
25
7.11 CRAN Task View 主題網頁讓您很容易地針對某主題瀏覽既存的套件,更棒的是除了列舉套件名稱外,還有簡要的說明。它的網路位 置:
http://cran.csie.ntu.edu.tw/web/views/
請看其中一個例子,ExperimentalDesign,跟實驗設計有關的套件
上一段是說明,跟實驗設計有關的套件有 26
更棒的是它有一份參考文獻,讓您知道實驗設計最重要的文獻在哪裡?
7.12 R 書庫 最後讓我為您介紹 R 的書庫,加上它的搜尋機制:
27
這是一張總表。
7.12.1 Abstract
7.12.2 BibTex
7.12.3 URL
28
7.12.4 搜尋您想要的書
例子:
7.13 建議閱讀
29