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