R 中的 table()函数

Sheeraz Gul 2022年7月18日
R 中的 table()函数

table() 方法用于分类表示数据。本教程演示如何在 R 中使用 table() 方法。

R 中的 table() 函数

如果要分类显示数据,可以使用 table() 方法来实现。这种分类表示是使用给定的变量名称和表格形式的频率完成的。

此方法的语法是:

table(x)

在此语法中,x 是将转换为表格的对象。

让我们尝试使用 table() 方法从数据帧创建频率表:

# create a dataframe
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


#view data frame
Delftstack


#Create frequency table for LastName column
table(Delftstack$LastName)

上面的代码将为 Delftstack 数据帧的 LastName 列创建一个频率表。见输出:

      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

    Cena Chandler  Danials   McCool    Nitro
       1        1        1        1        1

同样,我们可以使用 prop.table()table() 方法为同一列创建比例频率表。让我们尝试一个例子:

#calculate frequency table of proportions for LastName Column
prop.table(table(Delftstack$LastName))

上面的代码将为给定的列或变量创建比例频率表。见输出:

    Cena Chandler  Danials   McCool    Nitro
     0.2      0.2      0.2      0.2      0.2

上面的数据显示,每个姓氏被赋予数据框中 20% 的人。同样,我们可以计算两个变量的频率表。

参见示例:

#Create frequency table for Name and LastName column
table(Delftstack$Name, Delftstack$LastName)

上面的代码将为 NameLastName 列创建频率表。见输出:

           Cena Chandler Danials McCool Nitro
  Jack        0        0       1      0     0
  Jhonny      0        0       0      0     1
  John        1        0       0      0     0
  Michelle    0        0       0      1     0
  Mike        0        1       0      0     0

上面的代码将 Name 匹配到 LastName;例如,对于 JackDanials 是姓氏,因为它的频率为 1。类似地,我们可以为两个变量创建比例频率表。

参见示例:

#calculate frequency table of proportions for Name and LastName Column
prop.table(table(Delftstack$Name, Delftstack$LastName))

上面的代码将计算两列 NameLastName 的频率比例表。见输出:

           Cena Chandler Danials McCool Nitro
  Jack      0.0      0.0     0.2    0.0   0.0
  Jhonny    0.0      0.0     0.0    0.0   0.2
  John      0.2      0.0     0.0    0.0   0.0
  Michelle  0.0      0.0     0.0    0.2   0.0
  Mike      0.0      0.2     0.0    0.0   0.0

这是计算单个和多个变量或列的频率表和比例频率表的完整代码。

# create a dataframe
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))


#view data frame
Delftstack


#Create frequency table for LastName column
table(Delftstack$LastName)

#calculate frequency table of proportions for LastName Column
prop.table(table(Delftstack$LastName))

#Create frequency table for Name and LastName column
table(Delftstack$Name, Delftstack$LastName)

#calculate frequency table of proportions for Name and LastName Column
prop.table(table(Delftstack$Name, Delftstack$LastName))
作者: 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

相关文章 - R Function