Dalam pemrograman R , ada 5 objek dasar . Daftar adalah objek yang dapat berisi jenis elemen yang heterogen, tidak seperti vektor. Matriks dapat berisi jenis elemen yang sama atau elemen homogen. Di sisi lain, kerangka data mirip dengan matriks tetapi memiliki keunggulan dibandingkan matriks untuk mempertahankan elemen yang heterogen. Pada artikel ini, kita akan belajar membuat matriks dan data frame menggunakan list.
Matriks dibuat menggunakan matrix()fungsi dalam pemrograman R. Fungsi lain yang akan digunakan adalah unlist()fungsi untuk mengubah list menjadi vektor. Vektor yang dibuat berisi komponen atom dari daftar yang diberikan.
Sintaks: unlist(x, recursive = TRUE, use.names = TRUE) Parameter: x: mewakili daftar rekursif: mewakili nilai logis. Jika SALAH, fungsi tidak akan berulang di luar level pertama daftar use.names: mewakili nilai logis untuk mempertahankan informasi penamaan
Contoh 1:
# Defining list
ls1 <- list(
list(1, 2, 3),
list(4, 5, 6))
# Print list
cat("The list is:\n")
## The list is:
print(ls1)
## [[1]]
## [[1]][[1]]
## [1] 1
##
## [[1]][[2]]
## [1] 2
##
## [[1]][[3]]
## [1] 3
##
##
## [[2]]
## [[2]][[1]]
## [1] 4
##
## [[2]][[2]]
## [1] 5
##
## [[2]][[3]]
## [1] 6
cat("Class:", class(ls1), "\n")
## Class: list
# Convert list to matrix
mt1 <- matrix(unlist(ls1), nrow = 2, byrow = TRUE)
# Print matrix
cat("\nAfter conversion to matrix:\n")
##
## After conversion to matrix:
print(mt1)
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
cat("Class:", class(mt1), "\n")
## Class: matrix array
Contoh 2:
# Defining list
ls2 <- list("A", 10, TRUE, 2i)
# Print list
cat("\nThe list is:\n")
##
## The list is:
print(ls2)
## [[1]]
## [1] "A"
##
## [[2]]
## [1] 10
##
## [[3]]
## [1] TRUE
##
## [[4]]
## [1] 0+2i
cat("Class:", class(ls2), "\n")
## Class: list
# Convert list to matrix
mt2 <- matrix(unlist(ls2), nrow = 2, byrow = TRUE)
# Print matrix
cat("\nAfter conversion to matrix:\n")
##
## After conversion to matrix:
print(mt2)
## [,1] [,2]
## [1,] "A" "10"
## [2,] "TRUE" "0+2i"
cat("Class:", class(mt2), "\n")
## Class: matrix array
cat("\nType:", typeof(mt2), "\n")
##
## Type: character
Buat Dataframe menggunakan Daftar Dengan cara yang sama, kerangka data dapat dibuat menggunakan daftar dengan menggunakan unlist()fungsi dan data.frame()fungsi.
Contoh:
# Defining lists
n <- list(1:3)
l <- list(letters[1:3])
m <- list(month.name[1:3])
# Convert lists into dataframe columns
df <- data.frame(unlist(n), unlist(l), unlist(m))
# Names of columns of dataframe
names(df) <- c("Number", "Letters", "Month")
# Print dataframe
cat("The dataframe is :\n")
## The dataframe is :
print(df)
## Number Letters Month
## 1 1 a January
## 2 2 b February
## 3 3 c March