Mis2

Submitted by: Submitted by

Views: 126

Words: 673

Pages: 3

Category: Science and Technology

Date Submitted: 01/21/2013 08:37 PM

Report This Essay

Introduction to the R Language

Data Types and Basic Operations

Computing for Data Analysis

1 / 14

Subsetting

There are a number of operators that can be used to extract subsets of R objects. [ always returns an object of the same class as the original; can be used to select more than one element (there is one exception) [[ is used to extract elements of a list or a data frame; it can only be used to extract a single element and the class of the returned object will not necessarily be a list or data frame $ is used to extract elements of a list or data frame by name; semantics are similar to hat of [[.

2 / 14

Subsetting

> x x[1] [1] "a" > x[2] [1] "b" > x[1:4] [1] "a" "b" "c" "c" > x[x > "a"] [1] "b" "c" "c" "d" > u "a" > u [1] FALSE TRUE TRUE TRUE TRUE FALSE > x[u] [1] "b" "c" "c" "d"

3 / 14

Subsetting a Matrix

Matrices can be subsetted in the usual way with (i, j) type indices. > x x[1, 2] [1] 3 > x[2, 1] [1] 2 Indices can also be missing. > x[1, ] [1] 1 3 5 > x[, 2] [1] 3 4

4 / 14

Subsetting a Matrix

By default, when a single element of a matrix is retrieved, it is returned as a vector of length 1 rather than a 1 × 1 matrix. This behavior can be turned off by setting drop = FALSE. > x x[1, 2] [1] 3 > x[1, 2, drop = FALSE] [,1] [1,] 3

5 / 14

Subsetting a Matrix

Similarly, subsetting a single column or a single row will give you a vector, not a matrix (by default). > x x[1, ] [1] 1 3 5 > x[1, , drop = FALSE] [,1] [,2] [,3] [1,] 1 3 5

6 / 14

Subsetting Lists

> x x[1] $foo [1] 1 2 3 4 > x[[1]] [1] 1 2 3 4 > x$bar [1] 0.6 > x[["bar"]] [1] 0.6 > x["bar"] $bar [1] 0.6

7 / 14

Subsetting Lists

Extracting multiple elements of a list. > x x[c(1, 3)] $foo [1] 1 2 3 4 $baz [1] "hello"

8 / 14

Subsetting Lists

The [[ operator can be used with computed indices; $ can only be used with literal names. > x name x[[name]] ## [1] 1 2 3 4 > x$name ## NULL > x$foo [1] 1 2 3 4 ## = 1:4, bar = 0.6, baz =...