R 中的列联表
列联表,也称为交叉表,是总结两个变量之间关系的表格。本教程演示如何在 R 中创建列联表。
R 中的列联表
在 R 中,创建列联表非常容易。假设我们有一个数据集,其中包含 20 名员工的信息,包括 id、办公室名称和员工职位。
要创建列联表,我们使用 R 中的 table 函数。参见示例:
#create the dataset
Delftstack <- data.frame(employee_id = 1:20,
office_name=rep(c("Main", "Site", "Office Two"), times=c(9, 6, 5)),
position=rep(c('Senior Developer', 'Junior Developer', 'Trainee', 'Intern'), times=5))
#view the dataset
Delftstack
#create the contingency table
delftstack_table <- table(Delftstack$office_name, Delftstack$position)
#view the contingency table
delftstack_table
上面的代码将首先创建一个包含 20 条记录的数据集,然后从该数据集创建一个列联表。见输出:
employee_id office_name position
1 1 Main Senior Developer
2 2 Main Junior Developer
3 3 Main Trainee
4 4 Main Intern
5 5 Main Senior Developer
6 6 Main Junior Developer
7 7 Main Trainee
8 8 Main Intern
9 9 Main Senior Developer
10 10 Site Junior Developer
11 11 Site Trainee
12 12 Site Intern
13 13 Site Senior Developer
14 14 Site Junior Developer
15 15 Site Trainee
16 16 Office Two Intern
17 17 Office Two Senior Developer
18 18 Office Two Junior Developer
19 19 Office Two Trainee
20 20 Office Two Intern
Intern Junior Developer Senior Developer Trainee
Main 2 2 3 2
Office Two 2 1 1 1
Site 1 2 1 2
我们可以使用 addmargins()
函数向列联表添加边距。参见示例:
#add margins to contingency table
delftstack_margins <- addmargins(delftstack_table)
#view contingency table
delftstack_margins
上面的代码将为列联表添加边距。见输出:
Intern Junior Developer Senior Developer Trainee Sum
Main 2 2 3 2 9
Office Two 2 1 1 1 5
Site 1 2 1 2 6
Sum 5 5 5 5 20
此输出显示员工总数为 20; 20 以上的数值表示对应办公室的员工总数,即办公室有 9 名员工,办公室二有 5 名员工,现场办公室有 6 名员工。中间的列显示了其职位的员工人数。
相关文章
R 中具有多个条件的函数向量化
发布时间:2023/03/21 浏览次数:64 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
在 R 中读取 xlsx 文件
发布时间:2023/03/21 浏览次数:66 分类:编程语言
-
在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。