part a: r intro - universiti teknologi malaysia · 2018. 10. 13. · workshop: getting started with...

45
www.utm.my innovative entrepreneurial global 1 Workshop: Getting Started with R. UTM 14 Oct 2018 .© Dr. Norhaiza Ahmad 14 October 2018 Dr. Norhaiza Ahmad Department of Mathematical Sciences Faculty of Science Universiti Teknologi Malaysia http://science.utm.my/norhaiza/ Getting Started with for newbies PART A: R INTRO

Upload: others

Post on 19-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • 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