View source: R/chapters-auto.R
ch04 | R Documentation |
To print a listing of all examples of a chapter, use ch4()
.
To run all the examples of ch4()
, use example(ch4)
.
ch04() ch4()
toc
Other Chapters:
ch01()
,
ch02()
,
ch03()
,
ch05()
,
ch06()
,
ch07()
,
ch08()
,
ch09()
,
ch10()
,
ch11()
,
ch12()
,
ch13()
,
ch14()
,
ch15()
,
ch16()
,
ch17()
,
ch18()
,
ch19()
,
ch20()
if (interactive()) { # Chapter 4 - Getting Started with Arithmetic # Working with Numbers, Infinity, and Missing Values ## Doing basic arithmetic ### Using arithmetic operators baskets.of.Granny <- c(12,4,4,6,9,3) baskets.of.Geraldine <- c(5,3,2,2,12,9) Granny.money <- baskets.of.Granny * 120 Geraldine.money <- baskets.of.Geraldine * 145 Granny.money + Geraldine.money baskets.of.Granny * 120 + baskets.of.Geraldine * 145 ### Controlling the order of the operations 4 + 2 * 3 (4 + 2)* 3 ## Using mathematical functions ### Calculating logarithms and exponentials log(1:3) log(1:3,base=6) x <- log(1:3) exp(x) ### Putting the science in scientific notation 1.33e4 4.12e-2 1.2e6 / 2e3 ### Rounding numbers round(123.456,digits=2) round(-123.456,digits=-2) signif(-123.456,digits=4) ### Using trigonometric functions cos(120) cos(120*pi/180) ## Calculating whole vectors `+`(2,3) ##To infinity and beyond ### Using infinity 2/0 4 - Inf is.finite(10^(305:310)) ### Dealing with undefined outcomes Inf / Inf NaN + 4 ### Dealing with missing values x <- NA x + 4 log(x) is.na(x) ### Calculating infinite, undefined, and missing values # Organizing Data in Vectors ## Discovering the properties of vectors ### Looking at the structure of a vector str(baskets.of.Granny) length(baskets.of.Granny) authors <- c("Andrie", "Joris") str(authors) ### Testing vector types is.numeric(baskets.of.Granny) is.integer(baskets.of.Granny) x <- c(4L,6L) is.integer(x) ## Creating vectors seq(from = 4.5, to = 2.5, by = -0.5) seq(from = -2.7, to = 1.3, length.out = 9) baskets.of.Granny <- c(12,4,4,6,9,3) baskets.of.Geraldine <- c(5,3,2,2,12,9) ## Combining vectors all.baskets <-c(baskets.of.Granny, baskets.of.Geraldine) all.baskets ## Repeating vectors rep(c(0, 0, 7), times = 3) rep(c(2, 4, 2), each = 3) rep(c(0, 7), times = c(4,2)) rep(1:3,length.out=7) # Getting Values in and out of Vectors ## Understanding indexing in R numbers <- 30:1 numbers ## Extracting values from a vector numbers[5] numbers[c(5,11,3)] indices <- c(5,11,3) numbers[indices] numbers[-3] numbers[-(1:20)] # numbers[-1:20] # NOT RUN, gives error ## Changing values in a vector baskets.of.Granny[3] <- 5 baskets.of.Granny baskets.of.Geraldine[c(2,4)] <- 4 baskets.of.Geraldine Granny.copy <- baskets.of.Granny baskets.of.Granny[4] <- 11 baskets.of.Granny baskets.of.Granny <- Granny.copy baskets.of.Granny # Working with Logical Vectors ## Comparing values baskets.of.Granny > 5 which(baskets.of.Granny > 5) the.best <- baskets.of.Geraldine < baskets.of.Granny which(the.best) ## Using logical vectors as indices baskets.of.Granny[the.best] x <- c(3, 6, 1, NA, 2) x[x > 2] x > 2 ## Combining logical statements min.baskets <- baskets.of.Granny == min(baskets.of.Granny) max.baskets <- baskets.of.Granny == max(baskets.of.Granny) min.baskets | max.baskets x[!is.na(x)] ## Summarizing logical vectors sum(the.best) any(the.best) all(the.best) # Powering Up Your Math with Vector Functions ## Using arithmetic vector operations ### Summarizing a vector min(baskets.of.Granny) max(baskets.of.Granny) sum(baskets.of.Granny,baskets.of.Geraldine) x <- c(3,6,2,NA,1) sum(x) sum(x,na.rm=TRUE) ### Cumulating operations cumsum(baskets.of.Granny) cummax(baskets.of.Geraldine) cummin(x) ### Calculating differences diff(baskets.of.Granny) diff(x) ## Recycling arguments Granny.pointers <- c(10,2,4,0,4,1,4,2,7,2,1,2) points <- Granny.pointers * c(2,3) points sum(points) sum(Granny.pointers * c(2,3)) round(diff(baskets.of.Granny) / baskets.of.Granny[1:5] * 100) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.