#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.