A Brief Introduction to R
5 Pages
Downloading requires you to have access to the YouScribe library
Learn all about the services we offer

A Brief Introduction to R

Downloading requires you to have access to the YouScribe library
Learn all about the services we offer
5 Pages


A Brief Introduction to R



Published by
Reads 74
Language English


ABriefIntroduction toR
August 25, 2010
This is a document designed to help a person to begin to It paraphrases and summarizes information gleaned from them for a more complete treatment.
get to know the materials listed
Rstatistical computing environment. in theReferencesrefer to. Please
1 InstallingRand theIPSURPackage There are detailed instructions for installingRon your personal computer at the following website: http://ipsur.r-forge.r-project.org/book/installation.php For more complete and technical installation instructions see theR Installation and Administration Manual. http://cran.r-project.org/doc/manuals/R-admin.html
2 CommunicatingwithR There are three basic methods for communicating with the software. 1. Atthe Command Prompt (>). This is the most basic way to complete simple, one-line commands.Rwill evaluate what is typed there and output the results in the Console Window. 2. Copy& Paste from a text file. For longer programs (calledscripts) there is too much code to write all at once at the Command Prompt. Further, for long scripts the user sometimes wishes to only modify a certain piece of the script and run it again inR. One way to do this is to open a text file with a text editor (say, NotePad or MS-Wordrwrites the). One code in the text file, then when satisfied the user copy-and-pastes it at the Command Prompt inR. Then Rwill compile all of the code at once and give output in the Console Window. Alternatively,Rprovides its own built-in script editor, calledRthe console window, selectEditor. From FileNew Script.WhenA script window opens, and the lines of code can be written in the window. satisfied with the code, the user highlights all of the commands and pressesCtrl+R. The commands are automatically run at once inRand the output is shown.To save the script for later, clickFileSave as...inREditor. Thescript can be reopened later withFileOpen Script...in the Console Window. A disadvantage to these methods is that all of the code is written in the same way, with the same font.It can become confusing with longer scripts, and there is no way to efficiently identify mistakes in the code. To address this problem, software developers have designed powerful IDE / Script Editors. 3. IDE/ Script Editors. There are free programs specially designed to aid the communication and code writing process.The advantage to using Script Editors is that they have additional functions and options to help the user write code more efficiently, includingRsyntax highlighting, automatic code completion, delimiter matching, and dynamic help on theRIn addition, they typically have all of the textfunctions as they are written. editing features of programs like MS Word.Lastly, most script editors are fully customizable in the sense that the user can customize the appearance of the interface and can choose what colors to display, when to display them, and how they are to be displayed.
Some of the more popular script editors can be downloaded from the R-Project website at http://www.sciviews.org/_rgui/. Onthe left side of the screen (underProjects) there are several choices available. RWinEdtcan get this from IDE/Script Editors, under the section on Uwe Ligges.: YouThis A program has a window based on WinEdt for LT X and has features such as code highlighting, E remote sourcing, and all of the familiar ones of WinEdt.Unfortunately, this one is only Shareware, so you first need to download WinEdt, and then it is only free for a while.Eventually, annoying A windows will pop-up asking if you want to register.This would be a fine choice if you like LT X and E have WinEdt already, or are planning on purchasing WinEdt in the future. Tinn-R: This one has the advantage of being completely free, with no additional requirements.It has all of the above mentioned options and lots more.It is simple enough to use that the user can virtually begin working with the program immediately after installation.Unfortunately, this program is only availabe for Windows based systems. Bluefishopen-source script editor is for Mac OSX users.Other alternatives for Mac users: This are SubEthaEdit, AlphaTk, and Eclipse.I have not used these yet, so I cannot comment on their strngths and weaknesses.Try them out, and let me know! Emacs/ESSThis will take you to download sites: Click Emacs (ESS) or Emacs (ESS/Windows). with sophisticated programs for editing, compiling, and coordinating software such asS-Plus,R, and SASsimultaneously. Emacsis short forEditingMACroSand ESS meansEmacsSpeaksStatistics. An alternate branch of Emacs is called XEmacs.This editor is –by far– the most powerful of the text editors, but all of the flexibility comes at a price.Emacs requires a level of computer-saavy that the others do not, and the learning curve is more steep.If you want to explore this option, then speak with me beforehand; I can give you some advice about getting started.
3 AFirst Session:UsingRas a calculator RFor example, typeis perfectly able to do standard calculations.2 + 3and observe > 2+3 [1] 5 > The[1]means that the 5 is the first entry in the list, and the>means thatRis waiting on your next command. Entry numbers will be generated for each row, such as > 3:50 [1] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [19] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [36] 38 39 40 41 42 43 44 45 46 47 48 49 50 th Here, the19Notice also theentry in the list is 21.3:50notation, which generates all numbers in sequence from 3 to 50.One can also do things like > 2*3*4*5 # multiply [1] 120 > sqrt(10) # square root [1] 3.162278 > pi # pi [1] 3.141593 > sqrt(-2) [1] NaN Warning message: NaNs produced in:sqrt(-2) Notice thatNaNsAlso notice the number signwere produced; this stands for “not a number”.#, which means comment. Everythingtyped on the same line after the#will be ignored byR. There is also a continuation prompt+which occurs if you pressEnterbefore a statement is complete.For example, if you forget to close the parentheses or a command you may get something like the following:
> sqrt(27+32 + + To exit out of the continuation prompt, you can either complete the command - by entering a)in the above example - or you may press theEsckey. Some other fuctions that will be of use areabs()for absolute value,log()for the natural logarithm,exp() for the exponential function,factorial()for computing permutations, andchoose()for binomial coefficients. Assignment.This is useful for storing values to be used later. > y = 5 # stores the value 5 in y > y [1] 5 > y <- 5 # also stores the value 5 in y > 7 -> z # stores the value 7 in z You do not have to use the<-notation to store things; the equal sign=works just as well.I will use both symbols interchangeably. Acceptable variable names.You can use letters, numbers, dots “.”, or underscore “_” characters. You cannot use mathematical operators, and a leading dot may not be followed by a number.Examples:x,x1,y32, x.variable,x_variable. Usingc()to enter data vectors.If you would like to enter the data74,31,95,61,76,34,23,54,96into R, you may create a data vector with thec()function (short forconcatenate). > fred = c(74, 31, 95, 61, 76, 34, 23, 54, 96) > fred [1] 74 31 95 61 76 34 23 54 96 The vectorfredWe can access individual components with brackethas 9 entries.[ ]notation: > fred[3] [1] 95 > fred[2:4] [1] 31 95 61 > fred[c(1, 3, 5, 7)] [1] 74 95 76 23 If you would like to reset the variablefred, you can do it by typingfred = c(). Usingscan()to enter numeric data vectorsyou would like to enter the data 76 34 23 54 96 into a. If vectorx, perhaps the quickest way would be to use thescan()function: > x=scan() 1: 76 2: 34 3: 23 4: 54 5: 96 6: Read 5 items This method is best suited for use with small data sets andonly works if the data are numeric. Notice that entering an empty line stops the scan.Another use of this feature is when you have a long list of numbers (separated by spaces or on different lines) already typed somewhere else, say in a text file.To enter all the data in one fell swoop, highlight and copy the list of numbers to the Clipboard withEditCopy, next type the x=scan()command in theRconsole, and paste the numbers at the1:prompt withEditPaste. Allof the numbers will automatically be entered into the vectorx. Data vectors have typeIf you mix and matchare numeric, character, and logical type vectors.. There then usually it will be character.Notice that characters can be identified with either single or double quotes.
> simpsons = c("Homer", ’Marge’, “Bart", "Lisa", "Maggie") > names(simpsons) = c("dad", "mom", "son", "daughter 1", "daughter 2") > simpsons dad momson daughter1 daughter2 "Homer" "Marge" "Bart""Lisa" "Maggie" Here is an example of a logical vector: > x = c(5,7) > v = (x<6) > v [1] TRUE FALSE Applying functions to a data vector.Once we have stored a data vector then we can evaluate functions on it. > fred [1] 74 31 95 61 76 34 23 54 96 > sum(fred) [1] 544 > length(fred) [1] 9 > sum(fred)/length(fred) [1] 60.44444 > mean(fred) # sample mean, should be the same answer [1] 60.44444 > sd(fred) # sample standard deviation [1] 27.14365 Other popular functions for vectors arerange(),min(),max(),sort(), andcumsum(). Vectorizing functions.Arithmetic inRis almost always done element-wise, also known asvectorizing functionsexamples follow.. Some > fred.2 = c(4,5,3,6,4,6,7,3,1) > fred+fred.2 [1] 78 36 98 67 80 40 30 57 97 > fred-fred.2 [1] 70 26 92 55 72 28 16 51 95 > fred - mean(fred) [1] 13.5555556 -29.4444444 34.5555556 0.5555556 15.55556 -26.44444 [7] -37.4444444 -6.4444444 35.5555556 The operations+and-Notice in the last vector thatare performed element-wise.mean(fred)was subtracted from each entry, in turn.This is also known asdata recycling. Otherpopular vectorizing functions aresin(), cos(),exp(),log(), andsqrt().
4 GettingHelp When you are usingR, it will not take long before you find yourself needing help.Fortunately,Rhas extensive help resources and you should immediately become familiar with them.Begin by clickingHelpon the console. The following options are available. Console: givesuseful shortcuts, for instance,Ctrl+L, to clear theRconsole screen. FAQ onR: frequently asked questions concerning generalRoperation. FAQ onRfor Windowsasked questions about: frequentlyR, tailored to the Windows operating system.
Manualsmanuals about all features of the: technicalRsystem including installation, the complete language definition, and add-on packages. Rfunctions (text).. .: usethis if you know theexactname of the function you want to know more about, for example,meanorplot.Typing mean in the window is equivalent to typinghelp(“mean”)at the command line, or more simply,?mean. Html Help: usethis to browse the manuals with point-and-click links.It also has a Search Engine & Keywords for searching the help page titles, with point-and-click links for the search results.This is possibly the best help method for beginners. . .Search help.For example,this if you do not know the exact name of the function of interest.: use you may enterploand a text window will return listing help files with an alias, concept, or title matching ‘plo’ using regular expression matching; it is equivalent to typinghelp.search(“plo”)at the command line. Theadvantage is that you do not need to know the exact name of the function; the disadvantage is that you cannot point-and-click the results.Therefore, one may wish to use the Html Help search engine instead. search.r-project.org. . .: thiswill search for words in help lists and archives of theRcan beProject. It very useful for finding other questions that useRs have asked. Apropos. . .Trythis for more sophisticated partial name matching of functions.: use?aproposfor details. Note alsoexample(). Thisinitiates the running of examples, if available, of the use of the function specified by the argument.
5 Othertips It is unnecessary to retype commands repeatedly, sinceRremembers what you have entered on the command line. Tocycle through the previous commands, just push the(up arrow) key. Missing values inRare denoted byNA. Operations on data vectorNAvalues treat them as if the values can’t be found.This means adding (as well as subtracting and all of the other mathematical operations) a number toNAresults inNA. To find out what all variables are in the current work environment, use the commandsls()orobjects(). These list all available objects in the workspace.If you wish to remove one or more variables, useremove(var1, var2), and to remove all of them userm(list=ls()).
6 SomeReferences Dalgaard, P. (2002).Introductory Statistics withR. Springer. Everitt, B. (2005).AnRandS-PlusCompanion to Multivariate Analysis. Springer. Heiberger, R. and Holland, B. (2004).An Intermediate CourseStatistical Analysis and Data Display. with Examples inS-Plus,R,andSAS. Springer. Maindonald, J. and Braun, J. (2003).Data Analysis and Graphics UsingR:an Example Based Approach. Cambridge University Press. Venables, W. and Smith, D. (2005).An Introduction toR.http://www.r-project.org/Manuals. Verzani, J. (2005).UsingRforIntroductory Statistics. Chapmanand Hall.