R 中的异构数据
数据结构是一种逻辑方式或根据要求表示。它们进一步帮助在计算机内存中物理地描述这个逻辑视图。在 R 语言中,数据结构可以分为两类,即同构的和异构的。
- 同类数据结构:这种类型只能在其中存储单一类型的数据(整数、字符等),
- 异构数据结构:这种类型可以同时存储多种类型的数据。
异构数据结构
R 支持两种表示异构数据的方式,即列表和数据框。下面将详细讨论这两种结构:
1)列表:
- 列表是一维异构数据类型。
- 一个列表一次可以表示多个数据类型。
- 我们可以简单地使用list()函数来创建一个列表。
- 列表类似于向量,但是,向量是同构的,而列表是异构的。
- 列表的另一个有趣特性是我们可以将列表存储在其他列表中(例如简单的递归)。由于这个原因,列表也被称为“递归向量”。
例子:
R
list_ex = list(Ch="R language", numbers = 5:1, fl=FALSE)
print(list_ex)
R
list_ex2<-list(list(1,"R language",FALSE), list("Python",2,"Language"),
list("Hello",FALSE,"World"))
str(list_ex2)
R
employee_id <- c(1:4)
employee_name <- c("Abdul", "Anshul", "Vishal", "Riya")
employee_salary <- c("45000", "90000", "25000", "75000")
employee_designation <- c("Software Engineer", "Senior Manager", "Intern","Manager")
employee.data <- data.frame(employee_id , employee_name, employee_salary,
employee_designation)
employee.data
输出:
$Ch
[1] “R language”
$numbers
[1] 5 4 3 2 1
$fl
[1] FALSE
示例:递归向量
电阻
list_ex2<-list(list(1,"R language",FALSE), list("Python",2,"Language"),
list("Hello",FALSE,"World"))
str(list_ex2)
输出:
List of 3
$ :List of 3
..$ : num 1
..$ : chr “R language”
..$ : logi FALSE
$ :List of 3
..$ : chr “Python”
..$ : num 2
..$ : chr “Language”
$ :List of 3
..$ : chr “Hello”
..$ : logi FALSE
..$ : chr “World”
2)数据帧:
- 在R语言中,一个数据框是一个二维异构的表状结构
- 它们只是长度相等的向量列表。
- 数据框在系统地使用时使数据分析更容易,
- 在 R 语言中,我们使用data.frames()函数来创建数据框。
- R 中的数据框必须遵循以下规则:
- 数据框必须有列名,每列必须包含相等数量的项目,
- 数据框中的每一行都必须有一个唯一的名称,
- 列中的每个条目必须具有相同的数据类型,
- 不同的列可以具有相同或不同的数据类型。
例子:
电阻
employee_id <- c(1:4)
employee_name <- c("Abdul", "Anshul", "Vishal", "Riya")
employee_salary <- c("45000", "90000", "25000", "75000")
employee_designation <- c("Software Engineer", "Senior Manager", "Intern","Manager")
employee.data <- data.frame(employee_id , employee_name, employee_salary,
employee_designation)
employee.data
输出: