跳到主要内容

R语言数据类型

提示
  1. R语言的数据类型:R语言中的基本数据类型包括 logical(逻辑型)、numeric(数值型)、integer(整数型)、complex(复数型)、character(字符型)和 raw(原生型)。
  2. 逻辑和数值数据类型logical 数据类型表示布尔值 TRUEFALSE;而 numeric 类型包括实数和整数,integer 明确指定整数值。
  3. 字符和原始数据类型character 类型用于字符和字符串,使用单引号或双引号表示;raw 类型表示原始字节,可以通过 charToRaw()rawToChar() 函数进行字符和原始数据之间的转换。

在 R 中,变量可以存储不同类型的值,例如数字、字符等。我们在代码中可以使用的这些不同类型的数据被称为数据类型。例如,

x <- 123L

这里,123L 是一个整数数据。因此变量 x 的数据类型是 integer(整数)。

我们可以通过打印 x 的类别来验证这一点。

x <- 123L

# 打印 x 的值
print(x)

# 打印 x 的类型
print(class(x))

输出

[1] 123
[1] "integer"

这里,xinteger 类型的变量。

不同类型的数据类型

在 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 表示 TRUEF 表示 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"

这里,weightheight 都是 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 + 2icomplex 数据类型,因为它有一个虚部 2i

5. 字符数据类型

character 数据类型用于指定变量中的字符或字符串值。

在编程中,字符串是一组字符。例如,'A' 是单个字符,而 "Apple" 是一个字符串。

你可以使用单引号 '' 或双引号 "" 来表示字符串。通常,我们使用:

  • '' 表示字符变量
  • "" 表示字符串变量

例如,

# 创建一个字符串变量
fruit <- "Apple"
print(class(fruit))

# 创建一个字符变量
my_char <- 'A'
print(class(my_char))

输出

[1] "character"
[1] "character"

这里,两个变量 - fruitmy_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" 的原因。