R - 数据类型



通常,在使用任何编程语言进行编程时,都需要使用各种变量来存储各种信息。变量只不过是用于存储值的保留内存位置。这意味着,在创建变量时,您会在内存中保留一些空间。

您可能希望存储各种数据类型的信息,如字符、宽字符、整数、浮点、双浮点、布尔值等。根据变量的数据类型,操作系统分配内存并决定哪些内容可以存储在保留的内存中。

与 R 中的 C 和 java 等其他编程语言相比,变量没有声明为某种数据类型。使用 R-Object 为变量分配,R-对象的数据类型成为变量的数据类型。有许多类型的 R 对象。经常使用的是 -

  • 向量
  • 列表
  • 矩阵
  • 因素
  • 数据帧

这些对象中最简单的是向量对象,这些原子向量有六种数据类型,也称为六类向量。其他 R 对象建立在原子向量之上。

数据类型 示例 验证
Logical TRUE, FALSE
v <- TRUE
print(class(v))

它产生以下结果 -

[1] "logical"
 
Numeric 12.3, 5, 999
 
v <- 23.5
print(class(v))

它产生以下结果 -

[1] "numeric"
Integer 2L, 34L, 0L
 
v <- 2L
print(class(v))

它产生以下结果 -

[1] "integer"
Complex 3 + 2i
 
v <- 2+5i
print(class(v))

它产生以下结果 -

[1] "complex"
Character 'a' , '"good", "TRUE", '23.4'
 
v <- "TRUE"
print(class(v))

它产生以下结果 -

[1] "character"
Raw "Hello" is stored as 48 65 6c 6c 6f
 
v <- charToRaw("Hello")
print(class(v))

它产生以下结果 -

[1] "raw"

在 R 编程中,非常基本的数据类型是称为向量的 R 对象,它包含不同类的元素,如上所示。请注意,类的数量不仅限于上述六种类型。例如,我们可以使用许多原子向量并创建一个数组,其类将变为 array。

向量

当你想创建具有多个元素的向量时,你应该使用 c() 函数,这意味着将元素组合成一个向量。


# Create a vector.
apple <- c('red','green',"yellow")
print(apple)

# Get the class of the vector.
print(class(apple))

当我们执行上述代码时,它会产生以下结果——

[1] "red" "green" "yellow"
[1] "character"

列表

列表是一个 R 对象,其中可以包含许多不同类型的元素,例如向量、函数,甚至其中包含另一个列表。


# Create a list.
list1 <- list(c(2,5,3),21.3,sin)

# Print the list.
print(list1)

当我们执行上述代码时,它会产生以下结果——

[[1]]
[1] 2 5 3

[[2]]
[1] 21.3

[[3]]
function (x) .Primitive("sin")

矩阵

矩阵是二维矩形数据集。可以使用 matrix 函数的向量输入来创建它。


# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

当我们执行上述代码时,它会产生以下结果——

[,1] [,2] [,3]
[1,] "a" "a" "b"
[2,] "c" "b" "a"

阵 列

虽然矩阵仅限于二维,但数组可以是任意数量的维数。数组函数采用 dim 属性,该属性创建所需数量的维度。在下面的示例中,我们创建了一个包含两个元素的数组,每个元素都是 3x3 矩阵。


# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)

当我们执行上述代码时,它会产生以下结果——

, , 1

[,1] [,2] [,3]
[1,] "green" "yellow" "green"
[2,] "yellow" "green" "yellow"
[3,] "green" "yellow" "green"

, , 2

[,1] [,2] [,3]
[1,] "yellow" "green" "yellow"
[2,] "green" "yellow" "green"
[3,] "yellow" "green" "yellow"

因素

因子是使用向量创建的 r 对象。它将向量以及向量中元素的不同值存储为标签。标签始终是字符,无论它是输入向量中的数字、字符还是布尔值等。它们在统计建模中很有用。

因子是使用 factor() 函数创建的。nlevels 函数给出级别计数。


# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')

# Create a factor object.
factor_apple <- factor(apple_colors)

# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))

当我们执行上述代码时,它会产生以下结果——

[1] green green yellow red red red green
Levels: green red yellow
[1] 3

数据帧

数据框是表格数据对象。与数据帧中的矩阵不同,每列可以包含不同的数据模式。第一列可以是数字,第二列可以是字符,第三列可以是逻辑。它是一个相等长度的向量列表。

数据帧是使用 data.frame() 函数创建的。


# Create the data frame.
BMI <- 		 	data.frame(
	 	gender = c("Male", "Male","Female"),	
	 	height = c(152, 171.5, 165),	
	 	weight = c(81,93, 78),
	 	Age = c(42,38,26)
)
print(BMI)

当我们执行上述代码时,它会产生以下结果——

gender height weight Age
1 Male 152.0 81 42
2 Male 171.5 93 38
3 Female 165.0 78 26