# create vectors of data for three presidents
President_name <- c("Trump", "Reagan", "Biden")
Salary <- c(800000.00, 900000.00, 500000.00)
Application_status <- c(TRUE, TRUE, FALSE)


# access the second element in salary vector



Salary [2]
## [1] 9e+05
# include items in the range 2 to 3
Salary [2:3]
## [1] 9e+05 5e+05
# exclude item 2 using the minus sign
Salary [-2]
## [1] 8e+05 5e+05
# use a vector to indicate whether to include item
Salary [c(TRUE, TRUE, FALSE)]
## [1] 8e+05 9e+05
# add gender factor
gender <- factor(c("MALE", "FEMALE", "MALE"))
gender
## [1] MALE   FEMALE MALE  
## Levels: FEMALE MALE
## [1] MALE FEMALE MALE
## Levels: FEMALE MALE

# 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
# add ordered factor
symptoms <- factor(c("SEVERE", "MILD", "MODERATE"),
                   levels = c("MILD", "MODERATE", "SEVERE"),
                   ordered = TRUE)

symptoms
## [1] SEVERE   MILD     MODERATE
## Levels: MILD < MODERATE < SEVERE
# check for symptoms greater than moderate
symptoms > "MODERATE"
## [1]  TRUE FALSE FALSE
# display information for a president
President_name[1]
## [1] "Trump"
Salary[1]
## [1] 8e+05
Application_status[1]
## [1] TRUE
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 president
subject1 <- list(fullname = President_name[1], Salary = Salary[1], Application_status = Application_status [1], gender = gender [1], blood = blood[1], symptoms = symptoms[1])

# display the patient
subject1
## $fullname
## [1] "Trump"
## 
## $Salary
## [1] 8e+05
## 
## $Application_status
## [1] TRUE
## 
## $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]
## $Salary
## [1] 8e+05
# get a single list value by position (returns a numeric vector)
subject1[[2]]
## [1] 8e+05
# get a single list value by name
subject1$temperature
## NULL
# get several list items by specifying a vector of names
subject1[c("Salary", "Application_status")]
## $Salary
## [1] 8e+05
## 
## $Application_status
## [1] TRUE
# get values 2 and 3
subject1[2:3]
## $Salary
## [1] 8e+05
## 
## $Application_status
## [1] TRUE
pt_data <- data.frame(President_name, Salary, Application_status, gender, blood, symptoms, stringsAsFactors = FALSE)
# display the data frame
pt_data
##   President_name Salary Application_status gender blood symptoms
## 1          Trump  8e+05               TRUE   MALE     O   SEVERE
## 2         Reagan  9e+05               TRUE FEMALE    AB     MILD
## 3          Biden  5e+05              FALSE   MALE     A MODERATE
# get a single column
pt_data$President_name
## [1] "Trump"  "Reagan" "Biden"
# get several columns by specifying a vector of names
pt_data[c("Salary", "Application_status")]
##   Salary Application_status
## 1  8e+05               TRUE
## 2  9e+05               TRUE
## 3  5e+05              FALSE
# this is the same as above, extracting Salary and Application_status
pt_data[2:3]
##   Salary Application_status
## 1  8e+05               TRUE
## 2  9e+05               TRUE
## 3  5e+05              FALSE
# accessing by row and column
pt_data [1,2]
## [1] 8e+05
# accessing several rows and several columns using vectors
pt_data[c(1, 3), c(2, 4)]
##   Salary gender
## 1  8e+05   MALE
## 3  5e+05   MALE