R语言数字
提示
- 数字的分类:在 R 中,数字分为数值型(包括整数和浮点数)、整数型(用
L
表示)和复数型(虚部用i
表示)。 - 数值型和整数型:数值型是 R 中最常用的数据类型,可以包含有或没有小数的数值;整数型数据只包含整数,并用
L
后缀表示。 - 复数型数据类型:复数型数据包含有虚部的值,可以是纯虚数(只有虚部)或带有实部和虚部的数。转换为复数型时,原始数值成为实部。
在 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_decimal
和 my_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"
这里,变量 z1
和 z2
被声明为带有虚部 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。