
1.5 数据类型
R语言中有多种数据类型,主要分为以下两大类。
(1)原子数据类型(atomic data types)。
(2)数据结构类型(data structures)。
本节重点介绍原子数据类型。原子数据类型是R语言中最基本的数据类型,它们是构建数据结构,如向量、列表、数据框等的基础。
原子数据类型包括数值型(numeric)、整数型(integer)、复数型(complex)、逻辑型(logical)、字符型(character)、原始型(raw)。下面我们分别介绍一下。
1.5.1 数值型
R语言中数值型用于存储实数(浮点数)值,包括整数和小数。
数值型示例代码如下。

上述示例代码解释如下。
代码第①行创建了一个数值型变量 x,并将其赋值为3.14,这是一个浮点数。
代码第②行使用 class()函数打印变量x的数据类型,结果将显示为 "numeric",表示 x 是一个数值型变量。
代码第③行是通过科学记数法表示的数值型变量。
代码第④行创建了一个整数变量y。注意在R语言中没有明确区分整数型和浮点型变量,它们都属于数值型。
代码第⑤行使用 class()函数打印变量y的数据类型,结果将显示为 "numeric",表示 y 是一个数值型变量。
上述示例代码运行结果如下。

1.5.2 整数型
在R语言中,整数型也是一种数值型数据类型,用于存储整数值。以下是一些关于整数型的示例代码。

上述示例代码解释如下。
代码第①行创建了一个整数型变量 x,并将其赋值为42。
代码第②行使用class()函数打印变量 x 的数据类型,结果将显示为 "numeric",表示 x 是数值型变量,注意不是"integer"这是因为没有明确指定42是整数型。
代码第③行创建了另一个整数型变量 y,并将其赋值为100L。在这里,使用L标识符明确指定了整数型。
代码第④行使用class()函数打印变量 y 的数据类型,结果将显示为 "integer",表示 y 是一个整数型变量。
上述示例代码运行结果如下。


1.5.3 复数型
复数在数学中是非常重要的概念,无论是在理论物理学,还是电气工程实践中都经常使用。但是很多计算机语言不支持复数,而R语言支持复数。在R语言中,复数型(complex)是一种数据类型,用于存储复数。复数由实部和虚部组成,实部和虚部都是实数。以下是关于复数型的示例代码。

上述示例代码解释如下。
代码第①行创建了一个复数型变量 a,其值为2 + 3i,表示实部为2,虚部为3的复数。
代码第②行创建了另一个复数型变量 b,其值为1 + 2i,表示实部为1,虚部为2的复数。
代码第③行使用加法运算符将复数 a 和 b 相加,将结果存储在变量 result 中。在这种情况下,它将实部和虚部分别相加。
代码第④行打印变量result的数据类型。
提示
在R语言的复数表示中,通常使用小写字母 “i” 来表示虚部。这是数学约定和R语言的标准方式。虚部使用 “i”来表示是为了与实数部分区分开。
例如,在R语言中,复数2 + 3i表示实部为2,虚部为3的复数。如果你尝试使用其他字母或字符表示虚部,通常会导致语法错误,因为R语言不会将它们识别为虚部。
1.5.4 逻辑型
在R语言中,逻辑型也称为布尔型,它是一种数据类型,用于表示逻辑真值,即“真”(TRUE)或“假”(FALSE)。逻辑型主要用于条件测试和逻辑运算。以下是关于逻辑型的示例代码。

上述示例代码运行结果如下。

1.5.5 字符型
字符型数据在R语言中用于存储文本信息,它们是一种常见的数据类型。字符型数据表示文本,可以包括字母、数字、符号和空格。
R语言的字符型变量是使用双引号或单引号包裹字符或字符串的。
以下是一些关于字符型数据的示例代码。

上述示例代码运行结果如下。

提示
多个字符通常被称为字符串(string)。在计算机编程和数据处理中,“字符串”是一个通用的术语,用来描述包含多个字符的文本数据。
在R语言中,“字符型” 和“字符串”通常可以互换使用,表示包含多个字符的文本数据。因此,我们可以将 “字符型变量” 和“字符串变量”视为同一个概念,它们都用于存储文本信息。
1.5.6 原始型
在R语言中,原始型通常指的是原始字节数据,用于存储二进制数据。原始型数据不常见,通常用于处理与计算机底层数据存储和通信相关的任务。以下是一些关于原始型数据的示例代码。

上述示例代码解释如下。
代码第①行使用charToRaw()函数将文本字符串 “Hello, World!” 转换为原始型数据,并将其存储在 raw_variable 变量中。
代码第②行使用class()函数打印变量raw_data的数据类型。
代码第③行使用rawToChar()函数将原始型数据 raw_variable 转换为文本字符串,并将结果存储在 char_variable 变量中。
上述示例代码运行结果如下。

1.5.7 数据类型转换
在R语言中,我们可以使用一些函数来进行类型转换,将一个数据类型转换为另一个数据类型。以下是常见的类型转换函数。
(1)as.character():将对象转换为字符型。
(2)as.numeric():将对象转换为数值型。
(3)as.integer():将对象转换为整数型。
(4)as.logical():将对象转换为逻辑型(布尔型)。
(5)as.factor():将对象转换为因子型(用于分类数据)。
(6)as.Date():将字符型或数值型对象转换为日期型。
这些类型转换函数允许我们在不同的数据类型之间进行转换,以满足数据处理和分析的需要。但需要注意的是,在进行类型转换时,确保数据的内容和格式允许进行转换,以避免潜在的错误。
以下是一些关于数据类型转换的示例代码。


上述示例代码运行结果如下。
