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" 的原因。