This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.
Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.
plot(cars)
Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.
When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).
The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed. # create vectors of data for three medical patients subject_name <- c(“John Doe”, “Jane Doe”, “Steve Graves”) temperature <- c(98.1, 98.6, 101.4) flu_status <- c(FALSE, FALSE, TRUE)
temperature[2] # include items in the range 2 to 3 temperature[2:3]
# create vectors of data for three medical patients
subject_name <- c("John Doe", "Jane Doe", "Steve Graves")
temperature <- c(98.1, 98.6, 101.4)
flu_status <- c(FALSE, FALSE, TRUE)
# access the second element in body temperature vector
temperature[2]
## [1] 98.6
# include items in the range 2 to 3
temperature[2:3]
## [1] 98.6 101.4
# exclude item 2 using the minus sign
temperature[-2]
## [1] 98.1 101.4
# use a vector to indicate whether to include item
temperature[c(TRUE, TRUE, FALSE)]
## [1] 98.1 98.6
# add gender factor
gender <- factor(c("MALE", "FEMALE", "MALE"))
gender
## [1] MALE FEMALE MALE
## Levels: FEMALE MALE
# add ordered factor
symptoms <- factor(c("SEVERE", "MILD", "MODERATE"),
levels = c("MILD", "MODERATE", "SEVERE"),
ordered = TRUE)
# check for symptoms greater than moderate
symptoms > "MODERATE"
## [1] TRUE FALSE FALSE
# add blood type factor
blood <- factor(c("O", "AB", "A"),
levels = c("A", "B", "AB", "O"))
blood
## [1] O AB A
## Levels: A B AB O
# display information for a patient
subject_name[1]
## [1] "John Doe"
temperature[1]
## [1] 98.1
flu_status[1]
## [1] FALSE
gender[1]
## [1] MALE
## Levels: FEMALE MALE
blood[1]
## [1] O
## Levels: A B AB O
symptoms[1]
## [1] SEVERE
## Levels: MILD < MODERATE < SEVERE
# create list for a patient
subject1 <- list(fullname = subject_name[1],
temperature = temperature[1],
flu_status = flu_status[1],
gender = gender[1],
blood = blood[1],
symptoms = symptoms[1])
# display the patient
subject1
## $fullname
## [1] "John Doe"
##
## $temperature
## [1] 98.1
##
## $flu_status
## [1] FALSE
##
## $gender
## [1] MALE
## Levels: FEMALE MALE
##
## $blood
## [1] O
## Levels: A B AB O
##
## $symptoms
## [1] SEVERE
## Levels: MILD < MODERATE < SEVERE
# get a single list value by position (returns a sub-list)
subject1[2]
## $temperature
## [1] 98.1
# get a single list value by position (returns a numeric vector)
subject1[[2]]
## [1] 98.1
# get a single list value by name
subject1$temperature
## [1] 98.1
# get several list items by specifying a vector of names
subject1[c("temperature", "flu_status")]
## $temperature
## [1] 98.1
##
## $flu_status
## [1] FALSE
subject1[2]
## $temperature
## [1] 98.1
# get values 2 and 3
subject1[2:3]
## $temperature
## [1] 98.1
##
## $flu_status
## [1] FALSE
pt_data <- data.frame(subject_name, temperature, flu_status, gender,
blood, symptoms, stringsAsFactors = FALSE)
pt_data
pt_data$subject_name
## [1] "John Doe" "Jane Doe" "Steve Graves"
pt_data[c("temperature", "flu_status")]
pt_data[2:3]
pt_data[1, 2]
## [1] 98.1
pt_data[c(1, 3), c(2, 4)]
# column 1, all rows
pt_data[, 1]
## [1] "John Doe" "Jane Doe" "Steve Graves"
# row 1, all columns
pt_data[1, ]
# all rows and all columns
pt_data[ , ]
# the following are equivalent
pt_data[c(1, 3), c("temperature", "gender")]
pt_data[-2, c(-1, -3, -5, -6)]
# creating a Celsius temperature column
pt_data$temp_c <- (pt_data$temperature - 32) * (5 / 9)
# comparing before and after
pt_data[c("temperature", "temp_c")]
# create a 2x2 matrix
m <- matrix(c(1, 2, 3, 4), nrow = 2)
m
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
# equivalent to the above
m <- matrix(c(1, 2, 3, 4), ncol = 2)
m
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
# create a 2x3 matrix
m <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2)
m
## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
# create a 3x2 matrix
m <- matrix(c(1, 2, 3, 4, 5, 6), ncol = 2)
m
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
# extract values from matrixes
m[1, 1]
## [1] 1
m[3, 2]
## [1] 6
# extract rows
m[1, ]
## [1] 1 4
# extract columns
m[, 1]
## [1] 1 2 3