R语言数据类型
- R语言的数据类型:R语言中的基本数据类型包括
logical
(逻辑型)、numeric
(数值型)、integer
(整数型)、complex
(复数型)、character
(字符型)和raw
(原生型)。 - 逻辑和数值数据类型:
logical
数据类型表示布尔值TRUE
和FALSE
;而numeric
类型包括实数和整数,integer
明确指定整数值。 - 字符和原始数据类型:
character
类型用于字符和字符串,使用单引号或双引号表示;raw
类型表示原始字节,可以通过charToRaw()
和rawToChar()
函数进行字符和原始数据之间的转换。
在 R 中,变量可以存储不同类型的值,例如数字、字符等。我们在代码中可以使用的这些不同类型的数据被称为数据类型。例如,
x <- 123L
这里,123L
是一个整数数据。因此变量 x
的数据类型是 integer
(整数)。
我们可以通过打印 x
的类别来验证这一点。
x <- 123L
# 打印 x 的值
print(x)
# 打印 x 的类型
print(class(x))
输出
[1] 123
[1] "integer"
这里,x
是 integer
类型的变量。
不同类型的数据类型
在 R 中,有6种基本数据类型:
logical
(逻辑型)numeric
(数值型)integer
(整数型)complex
(复数型)character
(字符型)raw
(原生型)
让我们一一讨论这些 R 数据类型。
1. 逻辑数据类型
R 中的 logical
数据类型也称为布尔型数据类型。它只能有两个值:TRUE
(真)和 FALSE
(假)。例如,
bool1 <- TRUE
print(bool1)
print(class(bool1))
bool2 <- FALSE
print(bool2)
print(class(bool2))
输出
[1] TRUE
[1] "logical"
[1] FALSE
[1] "logical"
在上述示例中,
bool1
的值是TRUE
,bool2
的值是FALSE
。
这里,当我们检查两个变量的类型时,我们得到 "logical"
(逻辑型)。
注意: 你也可以用单个字母来定义逻辑变量 - T
表示 TRUE
或 F
表示 FALSE
。例如,
is_weekend <- F
print(class(is_weekend)) # "logical"
2. 数值数据类型
在 R 中,numeric
数据类型表示所有有或无小数点的实数。例如,
# 浮点值
weight <- 63.5
print(weight)
print(class(weight))
# 实数
height <- 182
print(height)
print(class(height))
输出
[1] 63.5
[1] "numeric"
[1] 182
[1] "numeric"
这里,weight
和 height
都是 numeric
类型的变量。
3. 整数数据类型
integer
数据类型用于指定没有小数点的实数值。我们使用后缀 L
来指定整数数据。例如,
integer_variable <- 186L
print(class(integer_variable))
输出
[1] "integer"
这里,186L
是一个整数数据。因此当我们打印 integer_variable
的类别时,得到的是 "integer"
。
4. 复数数据类型
complex
数据类型用于在 R 中指定纯粹的虚数值。我们使用后缀 i
来指定虚部。例如,
# 2i 表示虚部
complex_value <- 3 + 2i
# 打印 complex_value 的类别
print(class(complex_value))
输出
[1] "complex"
这里,3 + 2i
是 complex
数据类型,因为它有一个虚部 2i
。
5. 字符数据类型
character
数据类型用于指定变量中的字符或字符串值。
在编程中,字符串是一组字符。例如,'A'
是单个字符,而 "Apple"
是一个字符串。
你可以使用单引号 ''
或双引号 ""
来表示字符串。通常,我们使用:
''
表示字符变量""
表示字符串变量
例如,
# 创建一个字符串变量
fruit <- "Apple"
print(class(fruit))
# 创建一个字符变量
my_char <- 'A'
print(class(my_char))
输出
[1] "character"
[1] "character"
这里,两个变量 - fruit
和 my_char
- 都是 character
数据类型。
6. 原始数据类型
raw
数据类型指定值为原始字节。你可以使用以下方法将字符数据类型转换为原始数据类型,反之亦然:
charToRaw()
- 将字符数据转换为原始数据rawToChar()
- 将原始数据转换为字符数据
例如,
# 将字符转换为原始数据
raw_variable <- charToRaw("Welcome to Programiz")
print(raw_variable)
print(class(raw_variable))
# 将原始数据转换为字符
char_variable <- rawToChar(raw_variable)
print(char_variable)
print(class(char_variable))
输出
[1] 57 65 6c 63 6f 6d 65 20 74 6f 20 50 72 6f 67 72 61 6d 69 7a
[1] "raw"
[1] "Welcome to Programiz"
[1] "character"
在这个程序中,
- 我们首先使用了
charToRaw()
函数将字符串"Welcome to Programiz"
转换为原始字 节。
这就是为什么当我们打印 raw_variable
的类别时得到 "raw"
的原因。
- 然后,我们使用了
rawToChar()
函数将raw_variable
中的数据转换回字符形式。
这就是为什么当我们打印 char_variable
的类别时得到 "character"
的原因。