#Indroduction This document demonstartes examples of common data types and structure in R using built-in datasets. I will be using the “penguins” dataset.

#Datatime Creating a datatime object

my_datatime <- Sys.time()
my_datatime
## [1] "2025-09-18 09:59:53 EDT"

#Character Extracting species names from Penguins as character type

species_char <- as.character(penguins$species[1:5])
species_char
## [1] "Adelie" "Adelie" "Adelie" "Adelie" "Adelie"

#Numeric Using numeric values from the bill_length column

bill_lengths <- penguins$bill_depth_mm[1:5]
bill_lengths
## [1] 18.7 17.4 18.0   NA 19.3

#Boolean (Logical) Using boolean vector to answer: Is the bill length greater than 40?

is_bill_long <- bill_lengths > 40
is_bill_long
## [1] FALSE FALSE FALSE    NA FALSE

#Array Creating a 3D array with some Penguin measurements

my_array <- array(
  data = c(penguins$bill_depth_mm[1:12]),
  dim = c(2, 2, 3)
)
my_array
## , , 1
## 
##      [,1] [,2]
## [1,] 18.7   18
## [2,] 17.4   NA
## 
## , , 2
## 
##      [,1] [,2]
## [1,] 19.3 17.8
## [2,] 20.6 19.6
## 
## , , 3
## 
##      [,1] [,2]
## [1,] 18.1 17.1
## [2,] 20.2 17.3

#Vector Simple numeric vector from flipper_length

flipper_vector <- penguins$flipper_length_mm[1:5]
flipper_vector
## [1] 181 186 195  NA 193

#Data Frame A subset of the Penguins dataset as a data frame

penguins_df <- data.frame(
  species = penguins$species[1:5],
  island = penguins$island[1:5],
  body_mass = penguins$body_mass_g[1:5]
)
penguins_df
##   species    island body_mass
## 1  Adelie Torgersen      3750
## 2  Adelie Torgersen      3800
## 3  Adelie Torgersen      3250
## 4  Adelie Torgersen        NA
## 5  Adelie Torgersen      3450

#List A list can hold multiple types of objects

penguin_list <- list(
  name = "Penguin Sample",
  datetime = Sys.Date(),
  data = penguins_df,
  bill_lengths = bill_lengths
)
penguin_list
## $name
## [1] "Penguin Sample"
## 
## $datetime
## [1] "2025-09-18"
## 
## $data
##   species    island body_mass
## 1  Adelie Torgersen      3750
## 2  Adelie Torgersen      3800
## 3  Adelie Torgersen      3250
## 4  Adelie Torgersen        NA
## 5  Adelie Torgersen      3450
## 
## $bill_lengths
## [1] 18.7 17.4 18.0   NA 19.3

#Tibble Tibbles are modern data frames from tidyverse

penguins_tbl <- tibble(
  species = penguins$species[1:5],
  island = penguins$island[1:5],
  bill_depth = penguins$bill_depth_mm[1:5]
)
penguins_tbl
## # A tibble: 5 × 3
##   species island    bill_depth
##   <fct>   <fct>          <dbl>
## 1 Adelie  Torgersen       18.7
## 2 Adelie  Torgersen       17.4
## 3 Adelie  Torgersen       18  
## 4 Adelie  Torgersen       NA  
## 5 Adelie  Torgersen       19.3

#Conclusion This document showed examples of datetime, charcater, numeric, boolean, array, vector, data frame, list, and tibble data structures in R using the “penguins” dataset.