跳到主要内容

R语言数字

提示
  1. 数字的分类:在 R 中,数字分为数值型(包括整数和浮点数)、整数型(用 L 表示)和复数型(虚部用 i 表示)。
  2. 数值型和整数型:数值型是 R 中最常用的数据类型,可以包含有或没有小数的数值;整数型数据只包含整数,并用 L 后缀表示。
  3. 复数型数据类型:复数型数据包含有虚部的值,可以是纯虚数(只有虚部)或带有实部和虚部的数。转换为复数型时,原始数值成为实部。

在 R 中,数字可以分为三个不同的类别:

  • 数值型(Numeric):代表整数和浮点数。例如,123、32.43 等。
  • 整数型(Integer):只代表整数,并用 L 表示。例如,23L、39L 等。
  • 复数型(Complex):代表有虚部的复数。虚部用 i 表示。例如,2 + 3i、5i 等。

数值型数据类型

数值型是 R 中最常用的数据类型。当你声明一个包含数字的变量时,默认数据类型是数值型。

你可以在数值型变量中存储任何类型的数字(有或没有小数点)。例如,

# 带小数的变量
my_decimal <- 123.45
print(class(my_decimal))

# 不带小数的变量
my_number <- 34
print(class(my_number))

输出

[1] "numeric"
[1] "numeric"

这里,my_decimalmy_number 变量都是数值型。

整数型数据类型

整数是一种数值型数据,只能取无小数的值。当你确定变量未来不会有任何小数值时,通常会使用它。

要创建一个整数型变量,必须在值的末尾使用 L 后缀。例如,

my_integer <- 123L

# 打印 my_integer 的值
print(my_integer)

# 打印 my_integer 的数据类型
print(class(my_integer))

输出

[1] 123
[1] "integer"

这里,变量 my_integer 包含值 123L。值末尾的 L 表明 my_integer 是整数型。

复数型数据类型

在 R 中,复数型数据类型的变量包含有虚部的值。可以通过在值后添加 i 后缀来表示。例如,

# 只有虚部的变量
z1 <- 5i
print(z1)
print(class(z1))

# 有实部和虚部的变量
z2 <- 3 + 3i
print(z2)
print(class(z2))

输出

[1] 0+5i
[1] "complex"
[1] 3+3i
[1] "complex"

这里,变量 z1z2 被声明为带有虚部 i 的复数型数据类型。

常见问题

如何将数字转换为数值型?

在 R 中,我们使用 as.numeric() 函数将任何数字转换为数值型。例如,

# 整数型变量
a <- 4L
print(class(a))

# 复数型变量
b <- 1 + 2i
print(class(b))

# 将整数型转换为数值型
x <- as.numeric(a)
print(class(x))

# 将复数型转换为数值型
y <- as.numeric(b)
print(class(y))

输出

[1] "integer"
[1] "complex"
[1] "numeric"
[1] "numeric"
警告信息:
强制类型转换中忽略了虚部

这里,你可以看到在将复数型转换为数值型时,虚部被舍弃了。

如何将数字转换为复数型?

你可以使用 as.complex() 函数将任何数字转换为复数型。例如,

# 整数型变量
a <- 4L
print(class(a))

# 数值型变量
b <- 23
print(class(b))

# 将整数型转换为复数型
y <- as

.complex(a)
print(class(y))

# 将数值型转换为复数型
z <- as.complex(b)
print(class(z))

输出

[1] "integer"
[1] "numeric"
[1] "complex"
[1] "complex"

在这个例子中,我们将整数型和数值型变量转换为复数型。这种转换使得原始数值成为复数的实部,而虚部为0。