R 中的列聯表

Sheeraz Gul 2022年5月26日
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 名員工。中間的列顯示了其職位的員工人數。

Author: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook