PART A: R INTRO - Universiti Teknologi Malaysia · 2018. 10. 13. · Workshop: Getting Started with...
Transcript of PART A: R INTRO - Universiti Teknologi Malaysia · 2018. 10. 13. · Workshop: Getting Started with...
-
www.utm.my innovative● entrepreneurial● global 1
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
14 October 2018 Dr. Norhaiza Ahmad
Department of Mathematical SciencesFaculty of Science
Universiti Teknologi Malaysia
http://science.utm.my/norhaiza/
Getting Started with
for newbies
PART A: R INTRO
-
www.utm.my innovative● entrepreneurial● global 2
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
1. GotoDesktop2. ClickFolder:MathematicsSoftwareor
MathSoftware3. ClickFolder:R4. TherearethreeRapplications:
i. Ri3863.4.0ii. Rx643.4.0iii. RStudio
2
StartyourRSessioninthisMathLab!
Chooseanyofthesetwoversions
OtherwisegototheSTARTbuttonandsearchforRi386
-
www.utm.my innovative● entrepreneurial● global 3
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
3
StartyourRSession!ExampleofanRSession
-
www.utm.my innovative● entrepreneurial● global 4
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
WorkshopSchedulePART ITEM DETAILS
PARTA Introduction AboutR.Anatomy ofR.DownloadRbase .BasicRSyntax.Rinterface
PARTB CoreofR R functions (in-built), RPackages.SearchHelpfunctions .InstallPackage.LoadPackage.
PART C Working inRStudio
PARTD Data Structure TypesofDataStructure.CheckandChangeDataStructure
PARTE Reading/ImportData ReadData format.Readfrominbuiltdataset.Importffrom .txt,.xls.ManualEntry
PARTF Basic StatisticalAnalysis Practise onsamplet-test,simplelinearregression
Practice oninstalling, running codes,plots
-
www.utm.my innovative● entrepreneurial● global 5
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Outline
PARTA:INTRO1. AboutR2. AnatomyofR:FunctionsandPackages3. Downloading&InstallingR(base)4. UnderstandingtheRSyntax
Run&ExecuteCommandsObjectAssignmentSaving&Quitting
5. InterfaceoptionsforR
5
-
www.utm.my innovative● entrepreneurial● global 6
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
AboutR
• A computer language, with orientation towards statistical applications
• Open-sourced software - non-commercialPrinciple: open exchange, publicly accessible Community-oriented software
• Origin in academics:solid foundation of core statistical and numerical algorithms and continues to grow to this end.
-
www.utm.my innovative● entrepreneurial● global 7
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
7
OriginsofR
RisadialectfromaprogramminglanguagecalledS.S(languagedev.1976)—>SPlus(commercialsoftwarelicense1993)—>
Rsoftware(dev.1991- Rversion1.0.0in2000)
• S – developed about 40 years ago for research in telecommunication industry
https://www.r-project.org/conferences/useR-2006/Slides/Chambers.pdf
Commercialised(1993)
Version1(2000)
RossIhaka Robert Gentleman
R - created by two statisticians from University of Auckland
-
www.utm.my innovative● entrepreneurial● global 8
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
8
WhyR?
FREE
LargeCommunityofRUsers
GrowsintandemwithDevelopmentinStatistics
WhyyoushouldlearnR?
Economicsustainability
Applicationcodes- latestresearchworkarelikelytobeavailabletouse.
Helpavailable:
Extensivehelpdocumentationinsystem
Justask!OrBrowseinarchiveQ&A
-
www.utm.my innovative● entrepreneurial● global 9
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
9
BooksonR
ISBN978-0-387-09418-2ISBN-13:978-1420079333
AndPlentyofonlineresources!
-
www.utm.my innovative● entrepreneurial● global 10
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Outline
PARTA:INTRO1. AboutR2. AnatomyofR:FunctionsandPackages3. Downloading&InstallingR(base)4. UnderstandingtheRSyntax
Run&ExecuteCommandsObjectAssignmentSaving&Quitting
5. InterfaceoptionsforR
10
-
www.utm.my innovative● entrepreneurial● global 11
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
11
HowRworks:AnatomyofR
• R has many codes for many inbuilt functions, datasets & Help documentations
• These are contained in ‘Packages’ developed by the R-team and the community
-
www.utm.my innovative● entrepreneurial● global 12
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Package‘base’
Containsvarious:
• Functions• Datasets• Help
Manymorepackageswithdifferentcapabilities!
Package‘stats’
Containsvarious:
• Functions• Datasets• Help
…..
Package‘ggplot2’
Containsvarious:
• Functions• Datasets• Help
HowRworks:AnatomyofR
Examples of ‘Packages’ in R
BasePackage• Corepackage• AutomaticallyinstalledwhenyoudownloadR
gglot2 Package• FancyDataVisualization
stats Package• Generalstatisticalapplications
-
www.utm.my innovative● entrepreneurial● global 13
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
13
• R Packages are stored in certain Repositories:
HowRworks:AnatomyofR
Package‘base’
Containsvarious:
• Functions• Datasets• Help
CRAN
ROfficial/Default
….. Manyotherpackages
Bioconductor
Rspecifictobioinformatics
GitHubOtherrepository:NotRbutRepository formanyopensourcedprojects
Package‘…’
Containsvarious:
• Functions• Datasets• Help
….. Manyotherpackages
Rforge
Includedevelopmentversionsofpackages
Package‘…’
Containsvarious:
• Functions• Datasets• Help
….. Manyotherpackages
-
www.utm.my innovative● entrepreneurial● global 14
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
14
\
Whenyoudownloadandinstall- youwillbeautomaticallydownloadingandinstalling:
Rbase andselectedpackages(fromCRAN).
RBase
SelectedPackages
Add-OnPackages
PackagesinR=BRAINofR.
HowRworks:AnatomyofR
Otherpackagescanbeaddedonwhenrequired!
-
www.utm.my innovative● entrepreneurial● global 15
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Outline
PARTA:INTRO1. AboutR2. AnatomyofR:FunctionsandPackages3. Downloading&InstallingR(base)4. UnderstandingtheRSyntax
Run&ExecuteCommandsObjectAssignmentsSaving&Quitting
5. InterfaceoptionsforR
15
-
www.utm.my innovative● entrepreneurial● global 16
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
16
HowtodownloadR?http://www.r-project.org/
-
www.utm.my innovative● entrepreneurial● global 17
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
DownloadingR
• Internetconnection• Seedocumentstepbystepprocedure onhowtodownloadR
17
-
www.utm.my innovative● entrepreneurial● global 18
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
PointstoNote
• WhenyoudownloadandinstallR,youaredownloadingandinstallingbaseRandselectedpackages.
18
OnceRdownloadiscomplete:§ anRIconwillappearonyourdesktop.
-
www.utm.my innovative● entrepreneurial● global 19
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Outline
PARTA:INTRO1. AboutR2. AnatomyofR:FunctionsandPackages3. Downloading&InstallingR(base)4. UnderstandingtheRSyntax
Run&ExecuteCommandsObjectAssignmentSaving&Quitting
5. InterfaceoptionsforR
19
-
www.utm.my innovative● entrepreneurial● global 20
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
RHowtoRun&ExecuteRcommands?
Method1
R-CONSOLE R-SCRIPT
Method2
20
-
www.utm.my innovative● entrepreneurial● global 21
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
HowtoRuncommandsinR:Method1:RConsole
• DisplayedatthebeginningofanRsession• ComputationsareperformedonanRconsole
• Rcommandsaretypedandevaluatedhere.
21
-
www.utm.my innovative● entrepreneurial● global 22
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
HowtoRuncommandsinR:Method1:RConsole
AttheRprompt:-TypeyourRcommandshere!
Rprompt(>)
R-Ribbon
ChecktheRversiononyourPCRisupdated regularly.Notnecessarytoupdateversioneverytime
22
-
www.utm.my innovative● entrepreneurial● global 23
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
> 6+3> 6-3> (22+ 18+35)/3> 31 %% 7
Rascalculator
• WriteyourRcommandsaftereachprompt• HitEnter toexecutecommand
• Otheroperators:+,-,*,/23
-
www.utm.my innovative● entrepreneurial● global 24
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Example
SupposeyouwouldliketotakealoanamountofP atamonthlyinterestrateofi.TheloanistobepaidbackinnmonthlyinstallmentsofsizeM,. whereMisgivenby:
M = P i1− 1+ i( )−n"
#$$
%
&''
SaythattheloanamountisRM1500withaninterestrateof1%andthenumberofinstallmentpaymentstobemadeis10times.UseRassignmentstocalculatetheamountthatshouldbepaidpermonth.
Sol:RM158.37
24
-
www.utm.my innovative● entrepreneurial● global 25
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Example:RCode
> P=1500> i=0.01> n=10> denom=1-(1+i)^(-n)> (M=P*(i/denom))[1] 158.3731
25
-
www.utm.my innovative● entrepreneurial● global 26
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
HandyTip
• Usetheupanddownarrowkeys-
TorecallpreviousRlinecommandsintheconsole
26
-
www.utm.my innovative● entrepreneurial● global 27
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
MakingCommentsinR
• CommentlinesinRaredenotedby“#”• Anylinesthatiswrittenafter“#”willnotbereadasanRcommand
• Comment linesareusefulformakingnotation/notesinyourprogram
> 31 %% 7 #remainder after division of 31 by 7
27
-
www.utm.my innovative● entrepreneurial● global 28
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
RHowtoRun&ExecuteRcommands?
Method1 Method2
R-CONSOLE R-SCRIPT
Method2
- Commandsareexecuted- Likearoughpaper- Notconvenientforcode
storage
28
-
www.utm.my innovative● entrepreneurial● global 29
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Scriptwindow
Ascriptfile:filewhereyoucantypeyourcommandsandrunthemontheconsoleatyourownconvenience.
Itissimilartoanotepad/textfile!
Atconsole,click File- New
HowtoRuncommandsinR:Method2:RScript
29
-
www.utm.my innovative● entrepreneurial● global 30
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
WritinginanRScriptFile
# ========# 12 Jul 2017# This is my first Rscript# ========6+36-36+3; 6-3
Step2:Toruncommandsonascriptfile:
Usecursortohighlightallthecommandsà RightClickà ChooseRunlineorselection
NOTE:Usesemicolonstoseparatedifferentcommandlines6+3;6-3
Step1:TypetheseinyourRscript file.Note:Thereisno“>“promptinascriptfile
Step3:Saveyourscriptfileinyourpreferreddrive/folder.èsimilartosavinganotepad/textfile
30
-
www.utm.my innovative● entrepreneurial● global 31
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
RObjectAssignment
# use symbol ‘=‘ or ‘ x = 2> x > x x
# CALL UP the r-object to display results
(if required)
31
-
www.utm.my innovative● entrepreneurial● global 32
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
RObjectAssignment
# Use ‘;’ to combine line commands
• Ingeneral,RobjectsarestoredinanRworkspace,alsoknownastheglobalenvironment.
> x = 2; x > len = 2; len> x=2; len=2;x+2
32
-
www.utm.my innovative● entrepreneurial● global 33
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
HandyTip2
• Usebracketsaroundassignment– toautomaticallycallupstoredobject
# Use ‘()’ to auto call up assignment
> (x=2)> (len=2)
33
-
www.utm.my innovative● entrepreneurial● global 34
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
ImportantRulesonobjectassignment• Variablenamesarecasesensitive• Noblanksinname
(canuse_or.tojoinwords,butnot-)• Startwithaletter(capitalorlower-case)
34
-
www.utm.my innovative● entrepreneurial● global 35
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
HandyTip3
• IfacommandisnotcompleteattheendofalinethenRwillissuethefollowingprompt(bydefault):
+onthesecondandsubsequentlinesuntilthecommandsyntaxiscorrect.Tobreakoutofthis,typeCTRL+z(presstheControlKeyand‘z’atthesametime).
35
-
www.utm.my innovative● entrepreneurial● global 36
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
FUNTip!
• Youcanchangetheappearanceofyourpromptsymbol‘>’tosomeotherform:
> options(prompt="R>")
Toreturntothedefaultprompt:> options(prompt=">")
36
-
www.utm.my innovative● entrepreneurial● global 37
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
SavingStuff&Exiting
• Bringsuptothisscreen:• makeitapracticetosave
yourworkonascriptfile
• Unlessyouneedtorecallcertainobjectsregularly,wedonotneedtosavetheworkspace.
• Workspaceisyourcurrentworkingenvironment.Thisincludesallthefunctions, objectsetc thatyouhavecreatedinthatsession.
• Toexit:• hitX(top rightcorner)
oratRprompt
>quit ( )
SAVING EXITING
37
-
www.utm.my innovative● entrepreneurial● global 38
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
Outline
PARTA:INTRO1. AboutR2. AnatomyofR:FunctionsandPackages3. Downloading&InstallingR(base)4. UnderstandingtheRSyntax
Run&ExecuteCommandsObjectAssignmentSaving&Quitting
5. InterfaceoptionsforR
38
-
www.utm.my innovative● entrepreneurial● global 39
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
39
WhichtypeofRUserareyou?
NON-CASUALUSERCASUALUSER
-
www.utm.my innovative● entrepreneurial● global 40
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
40
MainInterface Options-RUsers
Rbase
RCommander
RStudio
-
www.utm.my innovative● entrepreneurial● global 41
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
41
MainInterface Options-RUsers
NOVICETOEXPERIENCEDUSER rbase
BACK-END
rstudio
FRONT-END
NON-CASUALUSER:
• command-lines&point+click• IntegratedDevelopment
Environment(IDE)forR• RStudiomakeslifemuch
easierforRcodingbut itisnotamust-havetouseRpower.
• command-lines• Basicplatformtowrite
programandruncodeinR
Rcommander
FRONT-END
CASUALUSER
• Pointandclick• Integrated
DevelopmentEnvironment(IDE)for
• R-GUIbasedversionofbaseR
-
www.utm.my innovative● entrepreneurial● global 42
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
42
RInterface:RbasevsRStudio
Rbase RStudio
-
www.utm.my innovative● entrepreneurial● global 43
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
43
RInterface:RCommander
Rcommander
• Pointandclick• Dropdownfunctions• IntegratedDevelopment
Environment(IDE)forR-• GUIbasedversionofbaseR
-
www.utm.my innovative● entrepreneurial● global 44
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
References
• Slidesadapted fromT.P.Hogan,ABriefIntroductoryGuide,SAGEPublications,2010
T. Martin,TheUndergraduateGuidetoRW.J.Braunetal,AFirstCourseInStatisticalProgrammingwithR(2008)
OtherwaystolearnR:http://swirlstats.com/
44
-
www.utm.my innovative● entrepreneurial● global 45
Workshop:Getting Startedwith R.UTM14Oct2018.©Dr.NorhaizaAhmad
NEXT
●PARTB:CoreofRRFunctionsRPackagesRHelp
45