📜  R - 对象

📅  最后修改于: 2022-05-13 01:54:38.639000             🧑  作者: Mango

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