ࡱ> g 'bjbjVV Wdr<r<b00@> J> V>V>V>$z>z>z>P>?z>*EG:8H8H8HlIVL<M $2/V>2NlIlI2N2N/V>V>8H8H4Dddd2NV>8HV>8Hd2NddNLp8HMzU0xZ0L$Uj `ppV>h2N2Nd2N2N2N2N2N//~^R2N2N2N2N2N2N2N2N2N2N2N2N2N2N2N2N0 =: John Miyamoto Useful R Commands (Top); Useful R Information Sources (Bottom) Contents (Cntrl-left click on a link to jump to the corresponding section) SectionTopic SEQ s s1 \* MERGEFORMAT 1RefTo: s1 HYPERLINK \l "s1" Useful R Functions SEQ s s0001 \* MERGEFORMAT 2RefTo: s0001 HYPERLINK \l "s0001" Notes re plot and lines SEQ s s1b \* MERGEFORMAT 3RefTo: s1b HYPERLINK \l "s1b" Regular expressions in R SEQ s s6 \* MERGEFORMAT 4RefTo: s6 HYPERLINK \l "s6" Special characters like "\n" SEQ s s2 \* MERGEFORMAT 5RefTo: s2 HYPERLINK \l "s2" Useful Links and Documents (Bookmarks: 's2', 'Links', 'Docs') SEQ s s5 \* MERGEFORMAT 6RefTo: s5 HYPERLINK \l "s5" Notes re the Built-In R Editor SEQ s s3 \* MERGEFORMAT 7RefTo: s3 HYPERLINK \l "s3" Possible Editors for R Programming SEQ s s4 \* MERGEFORMAT 8RefTo: s4 HYPERLINK \l "s4" Notes on R-Code/Computing (see also 'e:\r\notes' and 'e:\r\docs')  SEQ s \* MERGEFORMAT 1s1. Useful R Functions FunctionPurpose"imputation"See packages 'cat', 'norm', and 'mix' for various imputation functions. See, also, the 'transcan' function in the 'Hmisc' package. See, also, http://hesweb1.med.virginia.edu/biostat/rms. %in% matchIf X and Y are vectors, X %in% Y is a vector. length(X %in% Y) = length(X). The i-th element of X %in% Y equals TRUE if X[i] is an element of Y and is FALSE otherwise. The match function serves similar purposes but is more easily modified. .libPaths.libPaths gets/sets the library trees within which packages are looked for. '.libPaths(new)' where 'new' is a character vector with the locations of R library trees. .Platform R.version Sys.info().Platform is a list with some details of the platform under which R was built. This provides means to write OS portable R code. E.g., '.Platform$Os.type' gives the operating system that the current version was written for. See also 'R.version' and 'Sys.info()'. <<-, ->>The operators <<- and ->> cause a search to made through the environment for an existing definition of the variable being assigned. If such a variable is found then its value is redefined, otherwise assignment takes place globally. Note that their semantics differ from that in the S language, but is useful in conjunction with the scoping rules of R. all.equalall.equal(x,y) is a utility to compare R objects x and y testing ``near equality''. If they are different, comparison is still made to some extent, and a report of the differences is returned. Don't use 'all.equal' directly in if expressionseither use 'identical' or combine the two, as shown in the documentation for 'identical'. See also 'identical' and '=='. AnalyzeFMRIPackage for analyzing fMRI images. arrowsDraw arrows between pairs of points. Also useful for creating error bars (set 'angle' to 90). barplotMakes bar plots. Note that 'x.loc <- barplot(....)' stores that x-axis midpoints of each bar in a vector. barplot2Makes error bars in barplots (in 'gregmisc' package, 'gplots' functions)basename'basename' removes all of the path up to the last path separator (if any). See also 'dirname'.bmp jpeg pngOutput a graphics object to file in bmp, jpeg (jpg) and png formats. bodyGet or set the body of a function. 'body(v.names)' returns the code that defines the 'v.names' function. tmpfun <- function(a, b=2){} body(tmpfun) <- quote({z <- a + b; z^2}) tmpfun(3) [1] 25bquotebquotequotes its argument except that terms wrapped in.()are evaluated in the specifiedwhereenvironment. bringToTopbringToTop brings the specified screen device's window to the front of the window stack (and gives it focus). With argument -1, it brings the console to the top. This function is useful for manipulating the screen appearance of R output (including graphics output). browserInterrupt the execution of an expression and allow the inspection of the environment where browser was called from. Entering 'Q' exits from the browser.byFunction by is an object-oriented wrapper for tapply applied to data frames. A data frame is split by row into data frames subsetted by the values of one or more factors, and function FUN is applied to each subset in term. choose(n, k)Functions choose and lchoose return binomial coefficients and their logarithms.choose.filesUse a Windows file dialog to choose a list of zero or more files interactively. citationGives examples and explanation for how to cite R and R-packages.colors rainbow heat.colors terrain.colors topo.colors cm.colors'colors' returns the built-in color names which R knows about. The other functions create a vector of n contiguous colors. Conceptually, all of these functions actually use (parts of) a line cut out of the 3-dimensional color space, parametrized by  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\grDevices\\chtml\\grDevices.chm::/hsv.html" hsv(h,s,v, gamma), where gamma=1 for the foo.colors function, and hence, equispaced hues in RGB space tend to cluster at the red, green and blue primaries. Some applications such as contouring require a palette of colors which do not wrap around to give a final color close to the starting one. colSums rowSums colMeans rowMeansCompute row and column sums and means for numeric arrays. colSums, rowSums, colMeans, rowMeans These functions are equivalent to use of apply with FUN = mean or FUN = sum with appropriate margins, but are a lot faster. As they are written for speed, they blur over some of the subtleties of NaN and NA. If na.rm = FALSE and either NaN or NA appears in a sum, the result will be one of NaN or NA, but which might be platform-dependent. convert.mod.w2o, Win2OpenBUGSThese functions convert a WinBUGS model files to OpenBUGS model files. convert.mod.w2o allows the user to write a comment at the head of the resulting OpenBUGS model file; typically, this comment indicates the WinBUGS model that was the source of the OpenBUGS model file, although the user can write any comment that he or she chooses.count.fieldscount.fields counts the number of fields, as separated by 'sep', in each of the lines of file read. This used to be used by ' HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\library\\base\\chtml\\base.chm::/read.table.html" read.table' . Useful for debugging. csimint csimtest simint simtestMultiple comparison procedures for anova (oneway anova only?) in the package multcomp. curveDraws a curve corresponding to the given function or expression (in x) over the interval [from,to]. densityThe (S3) generic function density computes kernel density estimates. Its default method does so with the given kernel and bandwidth for univariate observations. Computes an estimated density function from a univariate sample of data. diagExtract or replace the diagonal of a matrix, or construct a diagonal matrix.dirRetrieve file information on a Windows machine. (Like "dir" in Dos.)dirname'dirname' returns the part of the path up to (but excluding) the last path separator, or "." if there is no path separator. do.call Executes a function call from the name of the function and a list of arguments to be passed to it. E.g., do.call("rbind", list.of.frames) applies 'rbind' to the dataframes in the list. dputWrites an ASCII text representation of an R object to a file or connection, or uses one to recreate the object. dput opens file and deparses the object x into that file. The object name is not written (contrary to dump). If x is a function the associated environment is stripped. Hence scoping information can be lost. See also 'dump'.dumpThis function takes a vector of names of R objects and produces text representations of the objects on a file or connection. A dump file can usually be  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\rw2001\\library\\base\\chtml\\base.chm::/source.html" sourced into another R (or S) session. See also 'dput'.duplicatedDetermines which elements of a vector or data frame are duplicates of elements with smaller subscripts, and returns a logical vector indicating which elements (rows) are duplicates.eigenComputes eigenvalues and eigenvectors. escape: \n, \t, \b, \r, \\,\"escape characters in character strings; '\n' is newline; '\t' is tab; '\b' is backspace; '\r' is carriage return; '\\' is single backslash; '\"' is single quote. See ?Quotes for more escape characters. eval evalq eval.parent withEvaluate an R expression in a specified environment.eval(parse(text=string))If 'string' is a character vector that represents a valid R command, e.g., 'string <- "tm1 <- 3*4" ', then 'eval(parse(text=string))' has the same effect as executing the command that is represented syntactically in 'string'. 'source()' builds on 'parse()' and 'eval()', i.e., parse() : character --> expression eval () : expression --> [evaluated result].expand.gridCreate a data frame from all combinations of the supplied vectors or factors. E.g., 'expand.grid(1:3, 1:4)' creates a dataframe with 12 rows, containing all combinations of {1, 2, 3} with {1, 2, 3, 4}. file.chooseChoose a file interactively. User specifies file to be opened or created by means of a dialog box. file.create, file.exists, file.remove, file.rename, file.append, file.copy, dir.createFunctions for creating files, testing for existence of files, removing files, renaming files, appending to files, copying files, and creating directories. file.existsChecks whether a file exists in a specified directory.file.infoUtility function to extract information about files on the user's file systems. file.pathConstruct the path to a file from components in a platform-independent way. Useful for writing platform-independent code that includes references to specific files. Usage: file.path(..., fsep = .Platform$file.sep) Arguments: ... = character vectors; fsep = the path separator to use. Value: A character vector of the arguments concatenated term-by-term and separated by fsep if all arguments have positive length; otherwise, an empty character vector. E.g., file.path("c:/mydata", "project.rda")filter'ts' package: Computes running means. fitdistrMASS package: Maximum-likelihood fitting of univariate distributions, allowing parameters to be held fixed if desired. fractionsComputes the integers ratio that produces the decimal representation of the ratio, e.g., fractions(.3333) returns "1/3". getSearch for an R object with a given name and return it. Useful for retrieving an R object from a different environment on the search path or for retrieving an R object with a name that is constructed by a function or program. getwd()Returns the absolute filename representing the current working directory of the R process. glGenerate factors by specifying the pattern of their levels. E.g., > gl(3,4) [1] 1 1 1 1 2 2 2 2 3 3 3 3 Levels: 1 2 3glm( ..., family = binomial)Logistic regression. Note that the summary function gives results in the log odds ratio form. You need to transform back to odds ratios. headReturns the first or last parts of a vector, matrix, data frame or function. Useful for viewing or extracting a small subset of cases. headReturns the first few rows of a dataframe or matrix (or vector).help.searchSearches the R help system for documentation matching a given character string in the (file) name, alias, title, concept or keyword entries (or any combination thereof), using either  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\utils\\chtml\\utils.chm::/onclick=" fuzzy matching or  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\utils\\chtml\\utils.chm::/onclick=" regular expression matching. Names and titles of the matched help entries are displayed nicely. See also 'RSiteSearch'.identicalThe safe and reliable way to test two objects for being exactly equal. It returns TRUE in this case, FALSE in every other case. See also 'all.equal' and '=='. ifelse(test, yes, no)'ifelse' returns a value with the same shape as test which is filled with elements selected from either 'yes' or 'no' depending on whether the element of 'test' is TRUE or FALSE. imageCreates a grid of colored or gray-scale rectangles with colors corresponding to the values in z. This can be used to display three-dimensional or spatial data aka images.imageCreates a grid of colored or gray-scale rectangles with colors corresponding to the values in z. This can be used to display three-dimensional or spatial data aka images. This is a generic function. The functions heat.colors, terrain.colors and topo.colors create heat-spectrum (red to white) and topographical color schemes suitable for displaying ordered data, with n giving the number of colors desired. interaction.plotMakes a line plot for a 2-way anova design with one factor on the X axis and the other factor with separate lines. isoMDS (in MASS) sammon (in MASS) cmdscale (in mva) xgvis (in xgobi)Alternative functions that perform nonmetric multidimensional scaling (mds). layoutUsed for making multiple graphs on a single screen (like mfrow or mfcol). Unlike mfrow or mfcol, row and column heights can be specified for individual rows or columns. library('package name') library(help = MASS) ls(package:MASS)Loads 'package name'. Lists all objects in MASS along with short description. Lists all objects in MASS if it is attached. linesAdd lines and points to a plot. See Section  SEQ s s0001 \* MERGEFORMAT \* MERGEFORMAT 2RefTo: s0001 for more info. list.filesThis function produces a list containing the names of files in the named directory. dir is an alias. key = filenameslogtransMASS package: Find and optionally plot the marginal likelihood for alpha for a transformation model of the form log(y + alpha) ~ x1 + x2 + .... make.namesMake syntactically valid names out of character vectors. make.uniqueMakes the elements of a character vector unique by appending sequence numbers to duplicates. Useful for creating unique names of variables or factor levels. match.callmatch.call returns a call in which all of the arguments are specified by their names. The most common use is to get the call of the current function, with all arguments named, i.e., use 'match.call' if you want to return the current values of the parameters that were input to a function. mergeAnalogous to the SPSS command, JOIN MATCH / TABLE. Combines input dataframes on common values for columns with identical names or user-specified columns. mvrnormMASS package: Generates multivariate normal random variables.mvtnorm'mvtnorm' package generate probabilities under a multivariate normal density function. Can be used to generate data with a given variance/covariance matrix (use 'rmvnorm'). Also, look at 'mvrnorm' in the MASS package. n.gt.1JM function that counts the number of cases in each condition (combination of factor levels) in a multifactor between subjects anova. The output is TRUE if the condition has more than 1 observation and FALSE if it has 0 or 1 observation. This function is useful in combination with 'studres' in the MASS library because this function sometimes yields a value of 0 where it should be NA when a cell has only 1 observation. na.omitOmits cases from a dataframe if any variables have missing data.onecodeJM function that creates a oneway anova factor from multiple input factors. 'onecode' is useful whenever it is easer to treat a multifactor between subects anova as a oneway anova. oneway.testComputes a oneway anova (between subjects). Default is to NOT assume homogeneity of variance. optimizeThe functionoptimizesearches the interval fromlowertoupperfor a minimum or maximum of the functionfwith respect to its first argument.p.adjustMultiple comparison procedure: Given a set of p values, returns p values adjusted using Holm method (default), Hochberg method, or Bonferroni method (in the base package). 'package functions' update.packages available.packages old.packages new.packages download.packages install.packages contrib.urlThese functions can be used to automatically compare the version numbers of installed packages with the newest available version on the repositories and update outdated packages on the fly. package.skeleton'package.skeleton' automates some of the setup for a new source package. It creates directories, saves functions and data to appropriate places, and creates skeleton help files and README files describing further steps in packaging. pairs()Produces all pairs of scatter plots.pairwise.prop.test pairwise.t.test pairwise.table pairwise.wilcox.testMultiple comparison procedures for various tests (in the ctest package).par("mai")A numerical vector of the form c(bottom, left, top, right) which gives the margin size specified in inches. (Use 'mai' or 'mar' but not both.)par("mar")A numerical vector of the form 'c(bottom, left, top, right)' which gives the number of lines of margin to be specified on the four sides of the plot. The default is 'c(5, 4, 4, 2) + 0.1'.par("mex")'mex' is a character size expansion factor which is used to describe coordinates in the margins of plots. Note that this does not change the font size, rather specifies the size of font used to convert between 'mar' and 'mai', and between 'oma' and 'omi'. (Note that JM has been misusing this parameter until 8/21/2005.)par("usr")Gives the min and max on the x and y axis for the current plot. par("xpd")Logical. If FALSE, all plotting is clipped to the plot region, if TRUE, all plotting is clipped to the figure region, and if NA, all plotting is clipped to the device region. Can be used to put legend (or any other text) outside of the plotting region.permnIn 'combinat' package. Generates all permutations of the elements of x, in a minimal- change order. If x is a positive integer, returns all permutations of the elements of seq(x). If argument "fun" is not null, applies a function given by the argument to each point. "..." are passed unchanged to the function given by argument fun, if any.plotCreate plots. See Section  SEQ s s0001 \* MERGEFORMAT \* MERGEFORMAT 2RefTo: s0001 for more info. power.prop.testComputes power of test for equality of proportions, or determines parameters to obtain target power. power.t.testCompute power of test, or determine parameters to obtain target power. proc.timeproc.time determines how much time (in seconds) the currently running R process already consumed. Value: A numeric vector of length 5, containing the user, system, and total elapsed times for the currently running R process, and the cumulative sum of user and system times of any child processes spawned by it. See also ' HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\rw2001\\library\\base\\chtml\\base.chm::/system.time.html" system.time' and 'gc'. ptukey qtukeyFunctions for the studentized range distribution. qrqr computes the QR decomposition of a matrix. The QR decomposition plays an important role in many statistical techniques. In particular it can be used to solve the equation Ax = b for given matrix A, and vector b. It is useful for computing regression coefficients and in applying the Newton-Raphson algorithm. The functions qr.coef, qr.resid, and qr.fitted return the coefficients, residuals and fitted values obtained when fitting y to the matrix with QR decomposition qr. qr.qy and qr.qty return Q %*% y and t(Q) %*% y, where Q is the Q matrix.rangerange usually returns the min and max of a vector, but see the following example for an illustration of how range deals with missing and infinite elements: x <- c(NA, 1:3, -1:1/0); x range(x) range(x, na.rm = TRUE) range(x, finite = TRUE) rank.seqJM function for creating sequential ranks (all tied values get the same rank and ranks are sequential from 1 to length(unique(input)). read.fwfRead a table of fixed width formatted data into a data.frame. read.table read.csv read.csv2 read.delim read.delim2Reads a file in table format and creates a data frame from it, with cases corresponding to lines and variables to fields in the file. This list includes related functions for reading data from particular types of files (comma separated, tab separated, etc.). readLines(con = stdin(), n = -1, ok = TRUE) Read text lines from a connection. If the con is a character string, the function call 'file' to obtain a file connection which is opened for the duration of the function call. ('readLines("clipboard")' reads lines from the clipboard.) If the connection is open it is read from its current position. If it is not open, it is opened for the duration of the call and then closed again. .... Whatever mode the connection is opened in, any of LF, CRLF or CR will be accepted as the EOL marker for a line. 'relevel' 'relevel(x, ref, ...)'The levels of a factor are re-ordered so that the level specified by ref is first and the others are moved down. This is useful for contr.treatment contrasts which take the first level as the reference. Also useful to change the number codes for factor levels to something other than an alphabetical increasing number codes.reshapeThis function reshapes a data frame between wide (multivariate) format with repeated measurements in separate columns of the same record and long (univariate) format with the repeated measurements in separate records. reshapeThis function reshapes a data frame between wide format with repeated measurements in separate columns of the same record and long format with the repeated measurements in separate records. Creates a univariate organization for repeated measures organization of files. returnUsed to return values or lists of values from within the body of a function. (I think this is the same as asserting the object names of the value as the very last line of the function.)RSiteSearchSearch for key words or phrases in the R-help mailing list archives, or R manuals and help pages, using the search engine at http://search.r-project.org and view them in a web browser. See also 'help.search'.scaleCenters variables and normalizes them, e.g., 'scale(x)' returns the z-scores that correspond to the vector 'x'. scaleStandardize variables, i.e., convert to z-scores.seekFunction that returns the current position for reading to or writing from a file. segmentsDraw line segments between pairs of points. See also arrows. set.seed .Random.seedset.seed uses its single integer argument to set as many seeds as are required. It is intended as a simple way to get quite different seeds by specifying small integer arguments, and also as a way to get valid seed sets for the more complicated methods (especially "Mersenne-Twister" and "Knuth-TAOCP"). .Random.seed saves the seed set for the uniform random-number generator, at least for the system generators. It does not necessarily save the state of other generators, and in particular does not save the state of the BoxMuller normal generator. If you want to reproduce work later, call set.seed rather than set .Random.seed. setwdSets the working directory (the directory under which files will be saved by 'save'). source'source' causes R to accept its input from the named file (the name must be quoted). Input is read from that file until the end of the file is reached. See also 'sys.source'split.screen screen erase.screen close.screensplit.screen defines a number of regions within the current device which can, to some extent, be treated as separate graphics devices. It is useful for generating multiple plots on a single device. Screens can themselves be split, allowing for quite complex arrangements of plots. screen is used to select which screen to draw in. erase.screen is used to clear a single screen, which it does by filling with the background colour. close.screen removes the specified screen definition(s). stopifnot(...)If any of the expressions in ... are not TRUE,  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\rw2001\\library\\base\\chtml\\base.chm::/stop.html" stop is called, producing an error message indicating the first element of ... which was not true. stopifnot(A, B) is conceptually equivalent to { if(!all(A)) stop(...) ; if(!all(B)) stop(...) }. strCompactly display the internal structure of an R object, a diagnostic function and an alternative to summary (and to some extent, dput). Ideally, only one line for each basic structure is displayed. It is especially well suited to compactly display the (abbreviated) contents of (possibly nested) lists.str ls.str lsf.strCompactly display the internal structure of an R object, a diagnostic function and an alternative to summary (and to some extent, dput). ... It is especially well suited to compactly display the (abbreviated) contents of (possibly nested) lists. The idea is to give reasonable output for any R object. It calls args for (non-primitive) function objects. ls.str and lsf.str are useful versions of ls, calling str on each object. They are not foolproof and should rather not be used for programming, but are provided for their usefulness.strftime strptimeConverts objects to and from the classes "POSIXlt" and "POSIXct" (not strftime) and character vectors that represent times. Not completely sure about this, but I believe that strptime takes a character representation of a date & time, and converts it to a POSIXlt representation that R can use, e.g., to compute time differences. I believe that strftime is the inverse, i.e., it takes a POSIXlt representation of a date & time and converts it to a character representation. The user can specify the type of character representation at input or output. E.g., strftime(Sys.time()) gives the current date and time as a character vector. E.g., strptime(c("06/02/11 12:14 PM", "06/02/09 12:14 AM"), "%m/%d/%y %I:%M %p") strsplitSplit the elements of a character vector x into substrings according to the presence of substring split within them. NB: The output of strsplit is a list. strtrimTrim character strings to specified display widths. strwrapEach character string in the input is first split into paragraphs (on lines containing whitespace only). The paragraphs are then formatted by breaking lines at word boundaries. The target columns for wrapping lines and the indentation of the first and all subsequent lines of a paragraph can be controlled independently. (Useful for formatting text to screen.)subsetReturn subsets of vectors or data frames which meet conditions. It achieves the same purpose as entering boolean conditions in dimensions of a matrix or dataframe, but it's syntax can be simpler or more transparent. Important: 'subset' drops cases that are missing on the index variable, whereas brackets includes these cases as rows of NA's. See: (tmm <- matrix(cbind(1:6, c(2,2, NA, 3, NA, 4), 5:10), ncol=3)) s.value <- 2 tmm[tmm[,2] == s.value,] subset(tmm, tmm[,2] == s.value)substr substringExtract or replace substrings in a character vector. summary summary.lm coefsFunctions for extracting summary statistical information from 'lm' output.suppressWarnings(expr)suppressWarnings evaluates its expression in a context that ignores all warnings.svdCompute the singular-value decomposition of a rectangular matrix. symbolsThis function draws symbols on a plot. One of six symbols; circles, squares, rectangles, stars, thermometers, and boxplots, can be plotted at a specified set of x and y coordinates. Specific aspects of the symbols, such as relative size, can be customized by additional parameters. sys.call(which = 0), sys.frame(which = 0), sys.nframe(), sys.function(n = 0), sys.parent(n = 1), sys.calls(), sys.frames(), sys.parents(), sys.on.exit(), sys.status()These functions provide access to environments (frames in S terminology) associated with functions further up the calling stack. .GlobalEnv is given number 0 in the list of frames. Each subsequent function evaluation increases the frame stack by 1 and the environment for evaluation of that function is returned by sys.frame with the appropriate index. Sys.getenv(x)Returns the values of the environment variables named by x. E.g. Sys.getenv("R_HOME") returns the value of the R_HOME variable. Sys.getenv() returns the values of all envirnoment variables. Sys.info()Information about the R program and OS.Sys.sleepSuspend execution of R expressions for a given number of secondssys.sourceParses expressions in the given file, and then successively evaluates them in the specified environment. E.g., create an environment on the search path and populate it: sys.source("myfuns.R", envir=attach(NULL, name="myfuns"))Sys.time()Sys.time returns the system's idea of the current time and Sys.timezone returns the current time zone. system.time(expr)Return CPU (and other) times that expr used. See also 'proc.time'. Use with 'gc'. tolower, toupperConvert characters from lower (upper) to upper (lower) case.tracebackCall traceback() immediately after running a function with an error. traceback() will show the sequence of function calls that lead up to the error (not obvious if it was another function internal to the function that was called at the command line). try'try' is a wrapper to run an expression that might fail and allow the user's code to handle error-recovery. 'try' evaluates an expression and traps any errors that occur during the evaluation. 'try' establishes a handler for errors that uses the default error handling protocol. It also establishes a 'tryRestart' restart that can be used by 'invokeRestart'. TukeyHSDComputes Tukey HSD confidence intervals for a oneway design.union(x, y) intersect(x, y) setdiff(x, y) setequal(x, y) is.element(el, set)Set operations on vectors that are interpreted as sets. unirootThe function uniroot searches the interval from lower to upper for a root (i.e., zero) of the function f with respect to its first argument. updateupdate will update and (by default) re-fit a model. It does this by extracting the call stored in the object, updating the call and (by default) evaluating that call. Sometimes it is useful to call update with only one argument, for example if the data frame has been corrected. vcov(object, ...)Variance/covariance matrix of a fitted object: Returns a matrix of the estimated covariances between the parameter estimates in the linear or non-linear predictor of the model.whichGive the TRUE indices of a logical object, allowing for array indices. E.g., > which(3 == c(1, 3, 1, 4, 3, 9)) [1] 2 5wilcox.testPerforms one and two sample Wilcoxon tests on vectors of data; the latter is also known as Mann-Whitney test. wilcox: dwilcox, pwilcox, qwilcox, rwilcoxDistribution functions for the Wilcoxon rank sum statistic. Note that the description in the R help file, "Distribution of the Wilcoxon Rank Sum Statistic", suggests that qwilcox also gives quantiles for the rank sum (which the Wilcoxon rank sum test is based on). In fact, however, it gives quantiles for the u-statistic (which the Mann-Whitney test is based upon). with(data, expr, ...)Evaluate an R expression in an environment constructed from data. Example: 'with(mydata, plot(x, y, xlab=label(x), ylab=label(y)))'write.foreign'foreign' package: This function exports data frames to other statistical packages by writing the data as free-format text and writing a separate file of instructions for the other package to read the data. Can be used to transfer data to SPSS. write.tableWrite dataframe to file with designated delimiter. E.g. write.table('data.frame',file = 'fname', sep='\t', row.names=F)write.tablewrite.table prints its required argument x (after converting it to a data frame if it is not one already) to file. The entries in each line (row) are separated by the value of sep. Set 'sep = ","' for comma-delimited output, and 'sep="\t"' for tab delimited output. Example: 'write.table(x, file="clipboard", sep="\t", row.names=FALSE, col.names=FALSE)' End of Table of Useful R Functions ----------------------------------------------------------------------  SEQ s \* MERGEFORMAT \* MERGEFORMAT 2s0001. Notes re plot and lines  HYPERLINK \l "toc" TOC The type argument controls how the points or lines are drawn. The main options are: type="p" plots points type="l" plots a line (the data must be in the correct order!) type="n" plots nothing,just creates the axes for later use type="b" plots both lines and points, lines miss the points (interesting!) type="o" plot overlaid lines and points type="h" plots histogram-like vertical lines (interesting!) type="s" plots step-like lines ----------------------------------------------------------------------  SEQ s \* MERGEFORMAT 3s1b. Regular expressions in R Helpful source re regular expressions:  HYPERLINK "http://docs.python.org/library/re.html" http://docs.python.org/library/re.html Helpful source re regular expressions:  HYPERLINK "http://manual.calibre-ebook.com/regexp.html" http://manual.calibre-ebook.com/regexp.html Description This help page documents the regular expression patterns supported by  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\base\\chtml\\base.chm::/grep.html" grep and related functions regexpr, gregexpr, sub and gsub, as well as by  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\base\\chtml\\base.chm::/strsplit.html" strsplit. Details A regular expression is a pattern that describes a set of strings. Three types of regular expressions are used in R, extended regular expressions, used by grep(extended = TRUE) (its default), basic regular expressions, as used by grep(extended = FALSE), and Perl-like regular expressions used by grep(perl = TRUE). Other functions which use regular expressions (often via the use of grep) include apropos, browseEnv, help.search, list.files, ls and strsplit. These will all use extended regular expressions, unless strsplit is called with argument extended = FALSE or perl = TRUE. Patterns are described here as they would be printed by cat: do remember that backslashes need to be doubled in entering R character strings from the keyboard. Extended Regular Expressions This section covers the regular expressions allowed if extended = TRUE in grep, regexpr, gregexpr, sub, gsub and strsplit. They use the glibc 2.3.5 implementation of the POSIX 1003.2 standard. Regular expressions are constructed analogously to arithmetic expressions, by using various operators to combine smaller expressions. The fundamental building blocks are the regular expressions that match a single character. Most characters, including all letters and digits, are regular expressions that match themselves. Any metacharacter with special meaning may be quoted by preceding it with a backslash. The metacharacters are . \ | ( ) [ { ^ $ * + ?. A character class is a list of characters enclosed by [ and ] which matches any single character in that list; if the first character of the list is the caret ^, then it matches any character not in the list. For example, the regular expression [0123456789] matches any single digit, and [^abc] matches anything except the characters a, b or c. A range of characters may be specified by giving the first and last characters, separated by a hyphen. (Character ranges are interpreted in the collation order of the current locale.) Certain named classes of characters are predefined. Their interpretation depends on the locale (see  HYPERLINK "mk:@MSITStore:C:\\PROGRA~1\\R\\R-22~1.1\\library\\base\\chtml\\base.chm::/locales.html" locales); the interpretation below is that of the POSIX locale. [:alnum:] Alphanumeric characters: [:alpha:] and [:digit:]. [:alpha:] Alphabetic characters: [:lower:] and [:upper:]. [:blank:] Blank characters: space and tab. [:cntrl:] Control characters. In ASCII, these characters have octal codes 000 through 037, and 177 (DEL). In another character set, these are the equivalent characters, if any. [:digit:] Digits: 0 1 2 3 4 5 6 7 8 9. [:graph:] Graphical characters: [:alnum:] and [:punct:]. [:lower:] Lower-case letters in the current locale. [:print:] Printable characters: [:alnum:], [:punct:] and space. [:punct:] Punctuation characters: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~. [:space:] Space characters: tab, newline, vertical tab, form feed, carriage return, and space. [:upper:] Upper-case letters in the current locale. [:xdigit:] Hexadecimal digits: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f. For example, [[:alnum:]] means [0-9A-Za-z], except the latter depends upon the locale and the character encoding, whereas the former is independent of locale and character set. (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket list.) Most metacharacters lose their special meaning inside lists. To include a literal ], place it first in the list. Similarly, to include a literal ^, place it anywhere but first. Finally, to include a literal -, place it first or last. (Only these and \ remain special inside character classes.) The period . matches any single character. The symbol \w is documented to be synonym for [[:alnum:]] and \W is its negation. However, \w also matches underscore in the GNU grep code used in R. The caret ^ and the dollar sign $ are metacharacters that respectively match the empty string at the beginning and end of a line. The symbols \< and \> respectively match the empty string at the beginning and end of a word. The symbol \b matches the empty string at the edge of a word, and \B matches the empty string provided it is not at the edge of a word. A regular expression may be followed by one of several repetition quantifiers: ? The preceding item is optional and will be matched at most once. * The preceding item will be matched zero or more times. + The preceding item will be matched one or more times. {n} The preceding item is matched exactly n times. {n,} The preceding item is matched n or more times. {n,m} The preceding item is matched at least n times, but not more than m times. Repetition is greedy, so the maximal possible number of repeats is used. Two regular expressions may be concatenated; the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated subexpressions. Two regular expressions may be joined by the infix operator |; the resulting regular expression matches any string matching either subexpression. For example, abba|cde matches either the string abba or the string cde. Note that alternation does not work inside character classes, where | has its literal meaning. Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole subexpression may be enclosed in parentheses to override these precedence rules. The backreference \N, where N is a single digit, matches the substring previously matched by the Nth parenthesized subexpression of the regular expression. Before R 2.1.0 R attempted to support traditional usage by assuming that { is not special if it would be the start of an invalid interval specification. (POSIX allows this behaviour as an extension but we no longer support it.) Basic Regular Expressions This section covers the regular expressions allowed if extended = FALSE in grep, regexpr, gregexpr, sub, gsub and strsplit. In basic regular expressions the metacharacters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions \?, \+, \ {, \|, \(, and \). Thus the metacharacters are . \ [ ^ $ *. Perl Regular Expressions The perl = TRUE argument to grep, regexpr, gregexpr, sub, gsub and strsplit switches to the PCRE library that implements regular expression pattern matching using the same syntax and semantics as Perl 5.6 or later, with just a few differences. For complete details please consult the man pages for PCRE, especially man pcrepattern and man pcreapi) on your system or from the sources at  HYPERLINK "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/" ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/. If PCRE support was compiled from the sources within R, the PCRE version is 6.2 as described here (version >= 4.0 is required even if R is configured to use the system's PCRE library). All the regular expressions described for extended regular expressions are accepted except \< and \>: in Perl all backslashed metacharacters are alphanumeric and backslashed symbols always are interpreted as a literal character. { is not special if it would be the start of an invalid interval specification. There can be more than 9 backreferences. The construct (?...) is used for Perl extensions in a variety of ways depending on what immediately follows the ?. Perl-like matching can work in several modes, set by the options (?i) (caseless, equivalent to Perl's /i), (?m) (multiline, equivalent to Perl's /m), (?s) (single line, so a dot matches all characters, even new lines: equivalent to Perl's /s) and (?x) (extended, whitespace data characters are ignored unless escaped and comments are allowed: equivalent to Perl's /x). These can be concatenated, so for example, (?im) sets caseless multiline matching. It is also possible to unset these options by preceding the letter with a hyphen, and to combine setting and unsetting such as (?im-sx). These settings can be applied within patterns, and then apply to the remainder of the pattern. Additional options not in Perl include (?U) to set ungreedy mode (so matching is minimal unless ? is used, when it is greedy). Initially none of these options are set. If you want to remove the special meaning from a sequence of characters, you can do so by putting them between \Q and \E. This is different from Perl in that $ and @ are handled as literals in \Q...\E sequences in PCRE, whereas in Perl, $ and @ cause variable interpolation. The escape sequences \d, \s and \w represent any decimal digit, space character and word character (letter, digit or underscore in the current locale) respectively, and their upper-case versions represent their negation. Unlike POSIX and earlier versions of Perl and PCRE, vertical tab is not regarded as a whitespace character. Escape sequence \a is BEL, \e is ESC, \f is FF, \n is LF, \r is CR and \t is TAB. In addition \cx is cntrl-x for any x, \ddd is the octal character ddd (for up to three digits unless interpretable as a backreference), and \xhh specifies a character in hex. Outside a character class, \b matches a word boundary, \B is its negation, \A matches at start of a subject (even in multiline mode, unlike ^), \Z matches at end of a subject or before newline at end, \z matches at end of a subject. and \G matches at first matching position in a subject. \C matches a single byte. including a newline. The same repetition quantifiers as extended POSIX are supported. However, if a quantifier is followed by ?, the match is ungreedy, that is as short as possible rather than as long as possible (unless the meanings are reversed by the (?U) option.) The sequence (?# marks the start of a comment which continues up to the next closing parenthesis. Nested parentheses are not permitted. The characters that make up a comment play no part at all in the pattern matching. If the extended option is set, an unescaped # character outside a character class introduces a comment that continues up to the next newline character in the pattern. The pattern (?:...) groups characters just as parentheses do but does not make a backreference. Patterns (?=...) and (?!...) are zero-width positive and negative lookahead assertions: they match if an attempt to match the ... forward from the current position would succeed (or not), but use up no characters in the string being processed. Patterns (?<=...) and (? Sometimes even the easy stuff is difficult (for me)... I want to get > input from different places to paste together an excel filename (so > you know I'm using windows) that I can open with RODBC. I know about > using double "\" since its an escape character, but I get either 2 or > none, I can't get just one "\" where I need it. See example code > below. I am using R 2.1.0, but plan to upgrade soon. Thanks in > advance to anyone who can help. > Roger > > rankPath <- "R:\New Ranks\SMC\SMC" > rankDate <- "20050819" > rankFile <- paste(rankPath,rankDate,".xls", sep="") > rankFile > [1] "R:New RanksSMCSMC20050819.xls" > > rankPath <- "R:\\New Ranks\\SMC\\SMC" > rankDate <- "20050819" > rankFile <- paste(rankPath,rankDate,".xls", sep="") > rankFile > [1] "R:\\New Ranks\\SMC\\SMC20050819.xls" This is perfect, "\" is *printed* escaped, hence for file access you can perfectly use this character vector. Uwe Ligges ... and you can see that the "\\" is correct by cat(rankFile) instead of print(rankFile), which is what entering the variable at the prompt actually does. -- Bert Gunter **JM: The '\\' is printed in the second example, but it denotes the correct path and file as far as R is concerned.'update packages' Problem: Has anyone written a script to inspect a previous installation, then get & install the same packages into the new installation? # Solution from Uwe Ligges. x <- installed.packages()[,1] # Run this in the previous version of R. install.packages(x) # Run this in the updated (new) version of R. # Solution from Ripley: This is one reason we normally recommend that you install into a separate library. Then update.packages(checkBuilt = TRUE) is all that is needed. However, > foo <- installed.packages() > as.vector(foo[is.na(foo[, "Priority"]), 1]) will give you a character vector which you can feed to install.packages(), so it's not complex to do manually.'Type I sum of squares', 'Type II sum of squares', 'Type III sum of squares' The 'base' function 'anova' computes Type I SS's. The 'car' function 'Anova' computes Type II and Type III SS's.  Keywords followed by Note ************************************************************************  From R. Ripley's R course, http://www.stats.ox.ac.uk/~ruth/, see her "R Programming 2010-11".      CREATEDATE \@ "M/d/yy h:mm am/pm" \* MERGEFORMAT 3/26/02 11:24 AM File =  FILENAME \p \* FirstCap \* MERGEFORMAT D:\r\useful.doc  PAGE 8 NOX    * + B C D M Q V [ \ ^ _ y z { | ˿˶֨˟˿˶֑˟˿˶h"h0JEOJQJ^Jjh"hUh"h0JEjh"hUh"h0J%h"hmHnHujh"hU h"hh"h5h#hCJaJhh Ih*h40NO_S $$Ifa$gdKzkd$$Ifl08$  t0644 la$If $$Ifa$+gd Igd !$ * ] ^ <Vkd $$Ifl08$  t644 laytK $$Ifa$gdKVkd!$$Ifl08$  t644 laytK $IfgdK     3 4 5 6 @ A B V W X r s      ! 5 ֳ֥֗jh"hUj>h"hUjfh"hUh"h0J%h"hmHnHu h"hh"h0JEjh"hUjh"hU8   A <Vkd$$Ifl08$  t644 laytK $$Ifa$gdKVkd$$Ifl08$  t644 laytK $IfgdKA <Vkd}$$Ifl08$  t644 laytK $$Ifa$gdKVkd$$Ifl08$  t644 laytK $IfgdK5 6 7 Y Z \ ] v w x y    # ֳ֬ys_s'h"h? 5B*OJQJ\^Jphfff h? 0JCh"h? 5\ h"h? h Ih4 h I0JXhmHnHuh Ijh IU h Ih Ijh"hUh"h0J%h"hmHnHu h"hh"h0JEjh"hUjh"hU% [ \ <7+gdVkd-$$Ifl08$  t644 laytK $$Ifa$gdKVkdU$$Ifl08$  t644 laytK $IfgdK   " # 0 xo $Ifgdvkd$$Ifl0 $ O064 laytA-$If,$Ifgd I z $Ifgd,$Ifvkd7$$Ifl0 $ O064 laytA- z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-z $Ifgd,$IfvkdM $$Ifl0 $ O064 laytA-;<56Ly{ !)* *pq{-.cdcdeث䇕jh"h? Ujh"h? Uh"h? mH sH hh? PJh"h? 5OJQJ^JhCh? PJh"h? OJQJ^J h? PJ h? 0JC h"h? 'h"h? 5B*OJQJ\^Jphfff59z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-9:Dz $Ifgd,$Ifvkdc $$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-Mz $Ifgd,$Ifvkdy $$Ifl0 $ O064 laytA-MNVz $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA- z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-Ezzz $Ifgd,$Ifvkd0$$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA- -z $Ifgd,$IfvkdF$$Ifl0 $ O064 laytA--.6z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd\$$Ifl0 $ O064 laytA-w $Ifgd ,$IfgdPLvkd$$Ifl0 $ O064 laytA- qz $Ifgd,$Ifvkdr$$Ifl0 $ O064 laytA-qr{z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-ehi@EKUYb  9<@B$ ( B F g h !!!!!"""Ҕ h"h? 0JECJOJQJ^J/jth0h? CJOJPJQJU^Jjh? 0JCUh"h? 5OJQJ^Jh? 0JCOJPJQJ^J h? 0JCh"h? OJQJ^Jh"h? 0JZjh"h? U h"h? 3z $Ifgd,$IfvkdH$$Ifl0 $ O064 laytA-lz $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-lmz $Ifgd,$Ifvkd^$$Ifl0 $ O064 laytA- z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA- ! !!j!z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-j!k!q!!z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-!!!"z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-"""#z $Ifgd,$Ifvkd2$$Ifl0 $ O064 laytA-# #$#j#z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-j#k#s##z $Ifgd,$IfvkdH$$Ifl0 $ O064 laytA-"s#t#{#|#########$$+%/%6%:%S%T%%%%%&&&& ' ''''G'H' ( (:(X(N)O)......//Z/^//ǪДДh"h? CJaJh"h? mHsHjth0h? PJUjh]h? PJUh]h? PJ h? 0JC'h"h? 5B*OJQJ\^JphfffhCh? PJ h? PJ h"h? 4###$z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-$$$ &z $Ifgd,$Ifvkd^$$Ifl0 $ O064 laytA- & &&H'z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-H'I'T' (z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA- ( ((9(z $Ifgd,$Ifvkd"$$Ifl0 $ O064 laytA-9(:(X(%)z $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-%)&)B)w)z $Ifgd,$Ifvkd8$$Ifl0 $ O064 laytA-w)x))***zzz $Ifgd,$Ifvkd$$Ifl0 $ O064 laytA-**++z $Ifgd,$IfvkdN $$Ifl0 $ O064 laytA-+++C,z $Ifgd,$Ifvkd $$Ifl0 $ O064 laytA-C,D,,9-z $Ifgd,$Ifvkdd!$$Ifl0 $ O064 laytA-9-:-F-}-z $Ifgd,$Ifvkd!$$Ifl0 $ O064 laytA-}-~---z $Ifgd,$Ifvkdz"$$Ifl0 $ O064 laytA----..//zzzz $Ifgd,$Ifvkd#$$Ifl0 $ O064 laytA-//%1&1U2V2$5%5555555556666z6{6666666?7@7F7G7o7s77777777777777˴˴~u~uu~u~u~uuh05h? PJ h? PJ h? 0JCh"h? 0JF$h)Qh? 0JCCJOJPJQJ^Jj#*h"h? Uh"h? 0JEj(h"h? Ujh"h? U'h"h? 5B*OJQJ\^Jphfff h"h? h"h? 5OJQJ^J./// 0z $Ifgd,$Ifvkd#$$Ifl0 $ O064 laytA- 0 000z $Ifgd,$Ifvkd$$$Ifl0 $ O064 laytA-0001z $Ifgd,$Ifvkd$$$Ifl0 $ O064 laytA-1111z $Ifgd,$Ifvkd1%$$Ifl0 $ O064 laytA-112b2z $Ifgd,$Ifvkd%$$Ifl0 $ O064 laytA-b2c2f2222zzz $Ifgd,$IfvkdG&$$Ifl0 $ O064 laytA-2223z $Ifgd,$Ifvkd&$$Ifl0 $ O064 laytA-3334z $Ifgd,$Ifvkd]'$$Ifl0 $ O064 laytA-444`4z $Ifgd,$Ifvkd'$$Ifl0 $ O064 laytA-`4a4m4{6z $Ifgd,$Ifvkds($$Ifl0 $ O064 laytA-{6|66(7z $Ifgd,$IfvkdH+$$Ifl0 $ O064 laytA-(7)7?77w $Ifgd ,$Ifgd6 vkd+$$Ifl0 $ O064 laytA-7778z $Ifgd,$Ifvkd^,$$Ifl0 $ O064 laytA-7X8Y888 9 9999999::E:F:j;< = =5=6=7=8=D===s?}?EEEEEE%H&H9HJHHHJ)JJJ1KEKFKGKSKXK&L*L0L4LCLGLMLQLLLLMh? 0JCOJQJh"h? 0JkPJh"h? 5OJQJ^Jh"h? 0J%h"h? mHnHujh"h? U h? PJh"h? 0JF h? 0JC h"h? ?888F:z $Ifgd,$Ifvkd,$$Ifl0 $ O064 laytA-F:G:X::z $Ifgd,$Ifvkdt-$$Ifl0 $ O064 laytA-::::;;b;z $Ifgd,$Ifvkd-$$Ifl0 $ O064 laytA-b;c;j;<z $Ifgd,$Ifvkd.$$Ifl0 $ O064 laytA-<<E<V<<z $Ifgd,$Ifvkd/$$Ifl0 $ O064 laytA-<<<V=z $Ifgd,$Ifvkd/$$Ifl0 $ O064 laytA-V=W=b==z $Ifgd,$Ifvkd+0$$Ifl0 $ O064 laytA-===t>z $Ifgd,$Ifvkd0$$Ifl0 $ O064 laytA-t>u>>>z $Ifgd,$IfvkdA1$$Ifl0 $ O064 laytA->>>g?z $Ifgd,$Ifvkd1$$Ifl0 $ O064 laytA-g?h?s?@z $Ifgd,$IfvkdW2$$Ifl0 $ O064 laytA-@@@;Az $Ifgd,$Ifvkd2$$Ifl0 $ O064 laytA-;A$$Ifl0 $ O064 laytA-PPPURz $Ifgd,$Ifvkd>$$Ifl0 $ O064 laytA-URVR]RdRRz $Ifgd,$Ifvkd@$$Ifl0 $ O064 laytA-RRRTz $Ifgd,$IfvkdA$$Ifl0 $ O064 laytA-TTTTTT6U;UhViVnVoVtVuVVV`ZcZZZ~^^__\`]`t`|`}aaaaaabbbbUc]cecfc3d?dMeSeeeeeLfOfXf\f^f_ffffff󪴚jKh0h? PJUjh? PJU h? PJ'h"h? 5B*OJQJ\^Jphfffh"h? 5\h"h? 5OJQJ^Jh"h? 56\] h"h? h? 0JCO$$Ifl0 $ O064 laytA-nnn2pz $Ifgd,$IfvkdO$$Ifl0 $ O064 laytA-2p3p:pqqr$rzzzz $IfgdPvC,$IfvkdTP$$Ifl0 $ O064 laytA-$r%r,r6rlrw $Ifgd V$IfgdEe vkdP$$Ifl0 $ O064 laytA-lrmrrrz $Ifgd,$IfvkdjQ$$Ifl0 $ O064 laytA-rrr;sw $Ifgd? ,$Ifgd? vkdQ$$Ifl0 $ O064 laytA-rrrssssssssssstqu|uuuvvwwxxy y?ÆȆ͆Іц)¾µ¯zle hhh&!h0JE5CJaJ&j`h&!h5CJUaJh5CJaJjh5CJUaJhOJQJ^J h0JXhmHnHuhjhUh4h Ih I5 h I5h I'h"h? 5B*OJQJ\^Jphfff h? 0JC h"h? #abn߀z $Ifgd,$IfvkdF\$$Ifl0 $ O064 laytA-߀ |z $Ifgd,$Ifvkd\$$Ifl0 $ O064 laytA-|}z $Ifgd,$Ifvkd\]$$Ifl0 $ O064 laytA-(!z $Ifgd,$Ifvkd]$$Ifl0 $ O064 laytA-!".gzz $Ifgd,$Ifvkdr^$$Ifl0 $ O064 laytA-Ʌzz $Ifgd,$Ifvkd^$$Ifl0 $ O064 laytA-?CYӇF}xsnnnnnn2gd)gd|gdgd Igd Ivkd_$$Ifl0 $ O064 laytA- )*+-r#KLӉԉ 9:=>!#&+/?@ýý˶hch0JECJOJQJ^JaJ#j|`h0hpOCJUaJ hch0JCjhch0JCUhch hm#hm# hm#0JEjhm#Uhm# h!0JXhmHnHuh!jh!Uh hhjh0JU1#>JŽ Pboz!^gdchgdchIgdchgdch)gdm#gd!gd2gd/02:Xm}Ȍ=AKRT]_jlvxzɍ<?}~ #%(*.3;JU6MRaϾϸϲϸϲϸϲϲϲϲϲϲϲϲϸϲϲϲϲϾϲϲϲϲϲϲϲϲϲϸϲϲϲ hch0JC hch0JF!hch5B*OJQJ\^Jphfffhchhch0JECJOJQJ^JaJjhch0JCU#jah0hpOCJUaJFEQpvƓǓ+,-45oxϔؔݔ{~ɕҕܕ!*-6clȖ ktʿʿh-hchmHsHh-hch0JCmHsH hch0JEjbhpOUjhchU hch0JC hch0JFhchK!ɕԕ-8cn kvc%ޜ#&^aIgdchgdch^gdch͙Ι 67noǚ̚Κ!"/0EFGIޜߜ#$^_Ýĝ͝ѝ12LM $(7:ik=>*:>BDKMUWZ\`em!hch5B*OJQJ\^Jphfffhch hch0JCZ͝ӝ VbW٢p=VMt?SgdchIgdch^gdchgdch /:Zervxۥܥ !"XYƦȦprwy)-NPSWy{~ש٩ߩTV hch6]!hch5B*OJQJ\^Jphfff hch0JEjchpOUjhchUhch hch0JCN+3ݬެ,-23hjlnsuîŮǮˮͮϮѮծ׮ٮۮ߮ 36}دگ-.13jl°İ[\ݱ|ڳ'O hch0JF hch0JChch_Ȳpѳ= Էݷ"jqt|$If $$Ifa$gd'gd|gdgd[gdchIgdchORδִ۴137:õĵ(stݷ"hjظٸڸ۸ݸqst{|}úôˮh"hCJ h"hh"hCJaJ h0JC h0JXhmHnHujhUh hchhchhchhch0JCOJQJ^J!hch5B*OJQJ\^Jphfffhch hch0JC:|}3\kdce$$If0a62h234ayt$If $$Ifa$gd\kdd$$If0a62h234aytĹŹƹȹɹչֹ׹ٹڹ $%VWX^_кѺҺպYZpqrsu¾ h I0JXhmHnHuh Ijh IUh! hhh"hCJ h"h h0JC h"h h0JCh"hCJh"hCJaJ@3\kdUf$$If0a62h234ayt $$Ifa$gd\kde$$If0a62h234ayt$IfŹ\kdf$$If0a62h234ayt$If $$Ifa$gdŹƹɹֹ׹ڹ3\kdg$$If0a62h234ayt$If $$Ifa$gd\kdGg$$If0a62h234aytڹ 3\kdh$$If0a62h234ayt $$Ifa$gd\kd9h$$If0a62h234ayt$If %WX_\kd+i$$If0a62h234ayt$If $$Ifa$gdѺҺպ3\kdj$$If0a62h234ayt$If $$Ifa$gd\kdi$$If0a62h234aytպY$Ifgd!gd\kdj$$If0a62h234ayt$Ifuw־׾?@AfghikExz{|}`iϿ~vrjrjjjh~eUh~eh4mHsH h0JXhjhUh~eh40JG h0h0h"hP!7h h00JXhmHnHuh0jh0Uh~eh~e5 h~e5h"homHsHh"ho6 h"hoh"ho5\h4h I)˻$Ifskdk$$Ifl0 $ 064 la*xz $Ifgd1 $Ifgd skdk$$Ifl0 $ 064 laxyz $Ifgd1 $Ifgd skdl$$Ifl0 $ 064 lad$Ifskdl$$Ifl0 $ 064 lade$Ifskd#m$$Ifl0 $ 064 la}$If $Ifgd skdm$$Ifl0 $ 064 laվz $Ifgd1 $Ifgd skd-n$$Ifl0 $ 064 laվ־׾@,{|#`~||||2jgdP!7|gd0skdn$$Ifl0 $ 064 la /Jr"@ASB˽||||rlr hE0J*jhE0J*Ujh:Uh:hEjhE0JUhm:h4 h~ehhh8h5 h5 h"hK9 h"hx h"h'T h"h h"h8 h"ha" h"h} h"hJDh"h85h~e h~e0JX(/IJX'IQSyyyyyyyyyyy $Ifgd}nkd7o$$Ifl$h% t0644 lap yt" $Ifgd~egd~e";q|"@ $Ifgda" $Ifgd}@AS@.7~ullcZZZ $Ifgd'T N$Ifgd $Ifgd N$Ifgd'T $Ifgd'T $Ifgd}nkdo$$Ifl$h% t0644 lap yt" 78VB~~ $Ifgd}nkd;p$$Ifl$h% t0644 lap yt" $Ifgd'T }{{{vt{t{t:gdgd5;lagd~enkdp$$Ifl$h% t0644 lap yt" $%&'  $d !"#%&'hm:h:h|)0J.mHnHu hE0J.jhE0J.UhE hE0J*jhE0J*UhE0J*mHnHu(/ =!"#`$% + 0/ =!"#$% $$If!vh#v#v :V l t0655 / / / / gDyK s1}$$If!vh#v#v :V l t655 / / /  ytKmDyK s0001}$$If!vh#v#v :V l t655 / / /  ytKiDyK s1bo$$If!vh#v#v :V l t655 / / ytKgDyK s6o$$If!vh#v#v :V l t655 / / ytKgDyK s2o$$If!vh#v#v :V l t655 / / ytKgDyK s5o$$If!vh#v#v :V l t655 / / ytKgDyK s3o$$If!vh#v#v :V l t655 / / ytKgDyK s4}$$If!vh#v#v :V l t655 / / /  ytK$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-5DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\grDevices\chtml\grDevices.chm::/hsv.htmlyX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-DyK yK mk:@MSITStore:C:\PROGRA~1\R\library\base\chtml\base.chm::/read.table.htmlyX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-#DyK yK mk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/source.htmlyX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-%DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\utils\chtml\utils.chm::/onclick=yX;H,]ą'c%DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\utils\chtml\utils.chm::/onclick=yX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA--DyK yK mk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/system.time.htmlyX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-DyK yK mk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/stop.htmlyX;H,]ą'c$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-$$If!vh#v #vO:V l065 5O4ytA-iDyK toc#DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/grep.htmlyX;H,]ą'c+DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/strsplit.htmlyX;H,]ą'c)DyK yK mk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/locales.htmlyX;H,]ą'cDyK yK ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/yX;H,]ą'cw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234ytw$$If!vh#v'#v:V 6,55a2h234yt$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#v #v:V l065 54$$If!vh#vh%:V l t065h%p yt"$$If!vh#vh%:V l t065h%p yt"$$If!vh#vh%:V l t065h%p yt"$$If!vh#vh%:V l t065h%p yt"b 002 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~PJ_HmH nHsH tHJ`J |)Normal,ndCJPJ_HmH sH tH `2 |)(Heading 1,h1,h11,h12,h13,h14,h15,h16,h1a$$ @hx@&5CJKH OJQJ\^JaJ l`2l |)Heading 2,h2,h2a$$<@&5CJOJQJ\]^JaJ``2` |)Heading 3,h3,h3a$$@&6OJQJ\^JaJL`L |) Heading 4,h4$d@& CJ\aJN`N |) Heading 5 <@&56CJ\]aJDA D |)Default Paragraph FontVi@V  Table Normal :V 44 la (k (|)No List 4`4 |)Header  !$o$ P|)P0<*o* |)P0inix(o"( |)P5 `.o". |)P5ini `8oB8 |)L2   ^ `>oR> |)L2ini   ^ `>oAb> |)L3  P^`PaJ@oQr@ |)L3ini  P^`P:oA: |)L4  @@^@`@oQ@ |)L4ini  @@^@`0oA0 |)ans d(CJ4O4 8kUans_spssOJQJ<o2< |)c,center$$$a$&o& |)email4O4 I"0eq1$ H$<HoH |)eq10& xx^x`HoH |)eq15& xpH H ^H `HoH |)eq20&! xh @   ^ `Ho"H |)eq25&" x8 ^`Fo2F |)eq5&# x^`HoBH |)eq30&$ xH^`H4oQ4 |)h,hidden <B* ph3,ob, |)i2& ^ (oar( |)i3 '^(oa( |)i4 (@^@.o. |)ot1 ) & F o |)smCJ.o. |)sp +d1$CJ6o6 |)spss,5CJOJQJh4 `4 |)Footer - !.)`. |) Page Number4O4 8kUovd14 /dxCJ4O4 8kUovd16 0dxCJ 4O4 8kUovd18 1dCJ$8o"8 |)ot22 & FdCJFA2F xeqm&3 (Hhh^h`(oA( |)cb 5OJQJ2(`Q2 8kU Line NumberCJFabF 8kUprob$6 Pd,<^`P6oar6 |)mc17$$ d,&oq& |)mc28$(oq( |)mcq9$$^`^ |)Footnote Text,ft :   d^ `CJ:oA: |)L8;  ^`bOb 8kUrn+<  "d5B* OJPJQJphf3b+`b |)Endnote Text,end$=   d(^ `CJ:oA: |)L5>  0^`08oQ8 |)L5ini? & F  <oA< |)L10@  `^``BoQB |)L10iniA  `^``,o!, S@A,Ar OJQJ^JBb`1B 0 HTML CodeCJOJPJQJ^JaJ:oA: p~rt,tah,a5CJOJQJ^JFU`QF |)Hyperlink,Link,hl >*B* ph.X`a. Emphasis6],oq, bk5<B*phPoP |)r+H h8@  $dCJaJ`^@` Normal (Web)Iddd[$\$CJOJPJQJ^JaJ(o( |)red B*ph*o* dred B* ph3*o* |)blue B*ph4o4 |)greenB* OJQJph^o^ |)cmt/N$ & F 8p @ $d B* CJphJOJ 8kUrcO `p P" 5OJQJ2o2 |)P0 Char CJPJtH ^o^ |)secbndQ `p P"5B*OJQJaJph3fjoj |)Parabnd%R `p P"d5B*CJOJQJaJphfLO2L 8kUrc2S `p P" 5OJQJ@oA@ S@Style 10 pt Red B*ph@oQ@ r CharCJOJ QJ _HmH sH tH e@b 0HTML Preformatted=V 2( Px 4 #\'*.25@9dCJOJPJQJ^J6O6 cmtheadW 5CJaJ<o< |) hid.num,hh<B*Y(ph6o6 8kU vis.num,vv B*ph<o< P0 Char1CJ_HmH sH tH :o: |)quote[]^aJ>o> |) DarkRed,drB* OJQJph3:o: |)vsmall]dx 5CJaJ.o!. |)subp^ B*ph:oa: |)mc_ @@^@`8O8 8kUpara9`d CJPJ aJt`t |) Table Grid7:Va0adPJLoA"L |)eq40&b XX^X`aJJ`2J |) Comment Textc-DM CJ6!B6 8kUot2Ld & F htoQt ;%Style blue + Times New (W1) Pale BlueB*OJQJphloal ;!Style green + Times New (W1) LimeB* OJQJph(oq( I"0rr 5OJQJ*o* |)sig hp^pToT |)blt11i & F p@ (^`(JoJ |)blt2#j & F 0p @@@@@dCJNg`N a6dHTML TypewriterCJOJPJQJ^JaJPOP @wch9parald^` OJQJaJ8o8 |) darkblue,db B* ph,o, |)cntr1n$a$Jo!2J |)cntr2&o$ & F @^`a$,o12, |)cntr3p$a$>o!> |)ot3q$ & F 8dCJ.o". |)ch18rdhCJ$.o2. |)ch16sd,CJ (oB( |)ch14tCJ*!R* fch9 u & F.ob. |)ch10vdCJNorN |)cmtr w & F @ d 5OJQJ@o"@ |)Hng1bx @%^`%>o> |)Hng1ay {^`{:!: fLh2z P^`P,O, I"0dca{ B* ph>o!"> |)hng2a| KK^K`:O: fredc } & F B*CJph@o"@ |)hng2b~ KP^`PBo1"B |)hng3a$   ^ `@o"@ |)hng3b  m^`m.o. |)eqc H$:oa": |)i2item `^8oA28 |)eq35 6oB6 |)ch08d CJOJQJ2oaR2 |)ch09dOJQJ4b4 I"0otln3a`(^`4r4 I"0otln3b(^44 I"0otln2ak<^k44 I"0otln2b<^0o0 |)rcntr $<a$JoJ |)eq05' $BA@BX<^`XFV`F fVFollowedHyperlink >*B* ph6o6 |)cmtb & F B*phJoaJ |)Li3* & F @@^@`&o& |)r10CJBo B |)li6! @`^`$o $ |)rot1.o! . |)r085CJOJQJ4o2 4 |)rh1  B*ph334o!B 4 |)rh2  B* ph0o1R 0 |)rh3 B* ph6Ob 6 I"0bluecode B*ph334Or 4 I"0redcode B* ph3.o . |)rred B*ph0o 0 |)rblue B*ph&o & |)vsmCJaJ.oq . |)i3ind `8 8 :,apple-style-spanB B :,apple-converted-space0o 0 |)w18 dCJ$0o 0 |)w16 dhCJ ,o  , |)w20dCJ(>o > |)wh18 dh5CJ$OJQJ0o 0 |)wh20 5OJQJ.o . |)wh16dJCJ .o! . |)wh24dCJ0&o R & |)w14CJ(o1 R ( |)wh14CJ:or : |)wot1 & Fdh<CJ2oa 2 |)wh12 d,xCJ2o 2 |)link>*B* phwh<o1 < |)w12 d<6CJOJQJ6o 6 |)wh10 d<CJ\2o 2 |)rgreen B*phff>'` > |)Comment ReferenceCJ@o @ t'aj d<CJ_HmH sH tH 2o 2 |)wcmt & F <o < |)L15 pp^p`0o 0 |)rr115CJOJQJ6o" 6 |)maccmt & F *o2 * |)r50  ] :oB : |)rred55 ] B*ph*oR * |)r55 ]*ob * |)r11<CJ4or 4 |)cntra2 <CJ(o( |)rcmt5*o * |)r38 x]xHoq H |)cmtred & F5B*CJOJQJph:o : |)cmtredr5CJOJQJ:oQ : |)wblt1 & F<OJQJ@&` @ Footnote ReferenceH*Xo X V? 0HTML Preformatted CharOJPJQJ^JtH PK![Content_Types].xmlN0EH-J@%ǎǢ|ș$زULTB l,3;rØJB+$G]7O٭V$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 0_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!0C)theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] )'ad'*d**d  5 e"/7MTfr~)Ou'gjms !*1 A 9M-ql j!!"#j##$ &H' (9(%)w)*+C,9-}--/ 0011b2234`4{6(778F::b;<<V==t>>g?@;AAiBDeD&EE-FF&H$IRIIJGKLLMKOO/PPURRTULVVWYa[I\f])^___`]`bMcdfghjmnn2p$rlrr;sstvwwxxiyy z){||g}}a߀|!!|Źڹ պxdվ@7'hiklnopqrtuvwxyz{|}~     "#$%&'()+,-./0*C[^y{35AWr 6Y\vxdhg $----.. 55575lGGGI:JFJ^^^^~~~~~~KӁ 9?Ƌ,4۝!XذڰYpr@fh|' X X X X X X X X XXXXX  XX X XXXXXX      @Q^tt!t@ @H 0(  0(  B S  ?'ctoc SecHeader _Hlt298417596 _Hlt298417597tmTOCloc _Hlt298417658 tmstartcell _Hlt220842659 _Hlt298417798 _Hlt216765716 _Hlt216765601 _Hlt216765602s1tmwm0currtm1tmfindtmvs0tmInitialSelectionStarttmInitialSelectionLasttmInitialSelectionPlustmInitialSelectiontmcurr tm_rcode_text tm_rcode_endend1s0001current tmTOCTexts1bs6s2LinksDocss5s3Editorss4PP* dAAN4 5bcjjjj"jjj~~~~xx@|(@@@@ @ @ @ @  !"#$%&PP*eBBR4 5ccj"j#j#j#jjj~~~~۰sxxi(NO##: :     N y {  ..rrm  kk  I : : x!x!""##D$D$:%:%~%~%%%'''' ( ((())))c*c***++,,a,a,|.|.)/?//0G2G2c3c3444 585W55566h7h7P8P888<9<999j:j:<<f<f<'='==.>>>%A%ASASAAABBHCHCDDDDEELGG0H=HHHVJVJJJLMMNMNOOQbSJTJT*V*VWWWWWWXX^X^XZZN[N[\\ ^ ^__``beYffff3h3hi#j%j%jmjmjj7>'@8@%A-ASAfAAA\BB!CSCTDDDDEELGQGGG0H=HHHI]JJJJJLLMMMMMMMNVNbSjSJTRTgUnU*V6VVWWWWWXXJXtXZZN[U[[\]/^__bceefffffqg h:h%j6jmjjjj>>%A%ASASAAABBHCHCDDDDEELGGHHVJVJJJLMMNMNOOQbSJTJT*V*VWWWWWWXX^X^XZZN[N[\\ ^ ^__``beYffff3h3hi#j%j%jmjmjjS@&APvCDJDJWDZH IKIr_J Ka_KELPLNR%R-S'T Uq UBU8kUV_Wz[[r[\&\h!\R]Q"^9A^$O_e`\asWba6de$eR-er[eApfQj4bkl7/lFlou.pufr prp~rtcVt@wT'wxm x=.yRyWz4"{5|Fg|&}D}(4"Z -[g}o "fV4? )QE#mTSy-X/G}!OE,BWo:_\[pG]kJs%z> z05:b0OmjK "+{Ss0=m#*; /_*BAX*2kR`[me [3^ur 8^KCxch1EKOf,(7cKGhoq#vW /.~em]{+w?M5;S]C/?FH:D_h|)2/7{>pOWWVm:j74=] V!WdWdProject.NewMacros.s!PROJECT.NEWMACROS.S@bcbb'P@Unknown G*Ax Times New Roman5Symbol3. *Cx Arial?= *Cx Courier NewI. ??Arial Unicode MSG=  jMS Mincho-3 fg5. .[`)TahomaI"  Arial (W1)ArialeTimes New (W1)Times New RomanoNewCenturySchlbkCentury SchoolbookK=   jMS Gothic-3 0000;WingdingsA$BCambria Math"1HhcFD) cbcb4y8d 2qHP?2! xx E:\cmptrs\temPLATS\jmm.dot John MiyamotoJohn M. MiyamotoJohn M. Miyamoto`                Oh+'0  8 D P \hpxJohn MiyamotoJohn M. MiyamotojmmJohn M. Miyamoto297Microsoft Office Word@Q@@`5f@X#vMz՜.+,D՜.+,P  hp  University of Washingtonbc John Miyamoto TitleX  8@ _PID_HLINKSA mvf7ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/WcPmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/locales.html|:`Qmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/strsplit.htmla ]Mmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\base\chtml\base.chm::/grep.html!&Z,http://manual.calibre-ebook.com/regexp.html+'W'http://docs.python.org/library/re.htmltoQtocWKKmk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/stop.html%?HRmk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/system.time.htmllq?Nmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\utils\chtml\utils.chm::/onclick=lq<Nmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\utils\chtml\utils.chm::/onclick={.9Mmk:@MSITStore:C:\PROGRA~1\R\rw2001\library\base\chtml\base.chm::/source.htmlzF6Jmk:@MSITStore:C:\PROGRA~1\R\library\base\chtml\base.chm::/read.table.html$d3Vmk:@MSITStore:C:\PROGRA~1\R\R-22~1.1\library\grDevices\chtml\grDevices.chm::/hsv.htmls4-s4s3's3s5!s5s2s2s6s6s1s1bC s0001s1s1  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~Root Entry F Mz@Data 3?q1TablelWordDocumentWdSummaryInformation(DocumentSummaryInformation8Macros MzMzVBA MzMzdirZNewMacros ThisDocument !_VBA_PROJECT0Y   "#$%&'()*+,-./123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`abcdfhV0* pHdProjectQ(@= l P J< rstdole>stdoleP h%^*\G{00020430-C 0046}#2.0#0#C:\Windows\SysWOW64\e2.tlb#OLE Automation`EOfficEOficEE2DF8D04C-5BFA-101B-BDE5EAAC42Egram Files (x86)\Common \Microsoft Shared\OFFICE14\MSO.DLL#P 9.0 Ob Libra,ryMTP>TP H *\CE:\cmptrs\temPLATS\jmm.dot..uP*mThisDocumenPtGToisDscuTmQnw 2 B014B,!(" +B NewMaUG wMasr%sm 2 O !@M !C xMEx &@XSort by FunctionenProject.NewMacros.s"    88@ s Macro Sort by Function %-8,Column 1. 20 648 2: 6<> 2@ 6B FDHJ NL (B@*o80Attribute VB_Name = "NewMacros" Sub s()$ s.DescriptiondSort by Func&r `ProcDataxInvoke_X<ject .w.y' 'x s  b Sel=."ExcludeHeader:=True, FieldNumb"Column` 1", T`ype _(*:=wdAlphanumeric9Or.Ascending62)" 923 #:3:=4 !|7 Separ8atoWOeB`yTabsJ[: =FalsbCaseSensitiveFLanguageID AGEnglishUS End @ xME (S"SS"< 1TP.ThisDocument8(%HxAttribute VB_Name = "ThisDocument" Bas!1TP.GlobalSpacdFalse CreatablPredeclaIdTru BExposeTemplate Deriv$CustomizC1a  *\G{000204EF-0000-0000-C000-000000000046}#4.1#9#C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBA7\VBE7.DLL#Visual Basic For Applications*\G{00020905-0000-0000-C000-000000000046}#8.5#0#C:\Program Files (x86)\Microsoft Office\Office14\MSWORD.OLB#Microsoft Word 14.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation2*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.5#0#C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\MSO.DLL#Microsoft Office 9.0 Object Library:*\CE:\cmptrs\temPLATS\jmm.dot:*\C..\cmptrs\temPLATS\jmm.dotuP* PThisDocument1E501a9db1!ThisDocumentNewMacros1F501a9db1$NewMacros!82Dp: