R - 对象
每种编程语言都有自己的数据类型来存储值或任何信息,以便用户可以将这些数据类型分配给变量并分别执行操作。根据数据类型执行操作。
这些数据类型可以是字符、整数、浮点数、长整数等。根据数据类型,内存/存储被分配给变量。例如,在 C 语言中,字符变量分配有 1 个字节的内存,整数变量分配有 2 或 4 个字节的内存,其他数据类型有不同的内存分配。
与其他编程语言不同,在 R 编程中,变量被分配给对象而不是数据类型。
对象类型
R语言中有5种基本类型的对象:
矢量图
原子向量是 R 编程中的基本对象类型之一。原子向量可以存储同质数据类型,例如字符、双精度、整数、原始、逻辑和复杂。单个元素变量也称为向量。
例子:
# Create vectors
x <- c(1, 2, 3, 4)
y <- c("a", "b", "c", "d")
z <- 5
# Print vector and class of vector
print(x)
print(class(x))
print(y)
print(class(y))
print(z)
print(class(z))
输出:
[1] 1 2 3 4
[1] "numeric"
[1] "a" "b" "c" "d"
[1] "character"
[1] 5
[1] "numeric"
列表
列表是 R 编程中的另一种类型的对象。列表可以包含异构数据类型,例如向量或其他列表。
例子:
# Create list
ls <- list(c(1, 2, 3, 4), list("a", "b", "c"))
# Print
print(ls)
print(class(ls))
输出:
[[1]]
[1] 1 2 3 4
[[2]]
[[2]][[1]]
[1] "a"
[[2]][[2]]
[1] "b"
[[2]][[3]]
[1] "c"
[1] "list"
矩阵
要将值存储为二维数组,在 R 中使用矩阵。数据、行数和列数在matrix()
函数中定义。
句法:
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
例子:
x <- c(1, 2, 3, 4, 5, 6)
# Create matrix
mat <- matrix(x, nrow = 2)
print(mat)
print(class(mat))
输出:
[, 1] [, 2] [, 3]
[1, ] 1 3 5
[2, ] 2 4 6
[1] "matrix"
因素
因子对象对给定数据向量中的唯一元素(级别)向量进行编码。
例子:
# Create vector
s <- c("spring", "autumn", "winter", "summer",
"spring", "autumn")
print(factor(s))
print(nlevels(factor(s)))
输出:
[1] spring autumn winter summer spring autumn
Levels: autumn spring summer winter
[1] 4
数组
array()
函数用于创建 n 维数组。此函数将 dim 属性作为参数,并创建属性中指定的每个维度的所需长度。
句法:
array(data, dim = length(data), dimnames = NULL)
例子:
# Create 3-dimensional array
# and filling values by column
arr <- array(c(1, 2, 3), dim = c(3, 3, 3))
print(arr)
输出:
,, 1
[, 1] [, 2] [, 3]
[1, ] 1 1 1
[2, ] 2 2 2
[3, ] 3 3 3,, 2
[, 1] [, 2] [, 3]
[1, ] 1 1 1
[2, ] 2 2 2
[3, ] 3 3 3,, 3
[, 1] [, 2] [, 3]
[1, ] 1 1 1
[2, ] 2 2 2
[3, ] 3 3 3
数据框
数据框是 R 编程中的二维表格数据对象。数据框由多列组成,每列代表一个向量。与矩阵不同,数据框中的列可以具有不同的数据模式。
例子:
# Create vectors
x <- 1:5
y <- LETTERS[1:5]
z <- c("Albert", "Bob", "Charlie", "Denver", "Elie")
# Create data frame of vectors
df <- data.frame(x, y, z)
# Print data frame
print(df)
输出:
x y z
1 1 A Albert
2 2 B Bob
3 3 C Charlie
4 4 D Denver
5 5 E Elie