如何在 R 数据框中创建包含两个因子列的表格?


要在一个 R 数据框中创建包含两个因子列的表格,我们可以使用 table 函数和 with 函数。

例如,如果我们有一个名为 df 的数据框,其中包含两个因子列,例如 F1 和 F2,那么我们可以使用以下命令创建这两个列的表格:

with(df,table(F1,F2))

示例 1

以下代码片段创建了一个示例数据框:

Group<-sample(c("G1","G2","G3"),20,replace=TRUE)
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
df1<-data.frame(Group,Class)
df1

创建了以下数据框

Group Class
1  G1 First
2  G2 First
3  G3 First
4  G2 First
5  G1 Second
6  G2 Second
7  G3 Second
8  G3 Third
9  G2 First
10 G1 Third
11 G1 Second
12 G3 Second
13 G1 Second
14 G1 Third
15 G2 Second
16 G1 Second
17 G3 Third
18 G1 Second
19 G3 First
20 G1 Third

要对上面创建的数据框中的 Group 和 Class 列创建表格,请将以下代码添加到上面的代码片段中:

Group<-sample(c("G1","G2","G3"),20,replace=TRUE)
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
df1<-data.frame(Group,Class)
with(df1,table(Group,Class))

输出

如果您将上面给出的所有代码片段作为单个程序执行,它将生成以下输出:

Class
Group First Second Third
  G1   1     5      3
  G2   3     2      0
  G3   2     2      2

示例 2

以下代码片段创建了一个示例数据框:

Gender<-sample(c("Male","Female"),20,replace=TRUE)
Sal_Group<-sample(c("<=10K","10K and <=20K","=20K"),20,replace=TRUE)
df2<-data.frame(Gender,Sal_Group)
df2

创建了以下数据框

 Gender      Sal_Group
1  Male            =20K
2  Male           <=10K
3  Female         <=10K
4  Male   10K and <=20K
5  Male           <=10K
6  Female         <=10K
7  Female 10K and <=20K
8  Female 10K and <=20K
9  Female          =20K
10 Male            =20K
11 Female 10K and <=20K
12 Male           <=10K
13 Male            =20K
14 Male            =20K
15 Female 10K and <=20K
16 Male   10K and <=20K
17 Female         <=10K
18 Female         <=10K
19 Male            =20K
20 Female 10K and <=20K

要对上面创建的数据框中的 Gender 和 Sal_Group 列创建表格,请将以下代码添加到上面的代码片段中:

Gender<-sample(c("Male","Female"),20,replace=TRUE)
Sal_Group<-sample(c("<=10K","10K and <=20K","=20K"),20,replace=TRUE)
df2<-data.frame(Gender,Sal_Group)
with(df2,table(Gender,Sal_Group))

输出

如果您将上面给出的所有代码片段作为单个程序执行,它将生成以下输出:

       Sal_Group
Gender <=10K  =20K  10K and <=20K
Female    4     1       5
Male      3     5       2

示例 3

以下代码片段创建了一个示例数据框:

Category<-sample(c("C1","C2","C3","C4"),20,replace=TRUE)
Sample<-sample(1:4,20,replace=TRUE)
df3<-data.frame(Category,Sample)
df3

创建了以下数据框

Category Sample
1  C4    4
2  C2    3
3  C2    3
4  C1    3
5  C3    4
6  C1    4
7  C2    1
8  C1    1
9  C1    1
10 C1    2
11 C4    3
12 C1    3
13 C4    2
14 C1    3
15 C4    2
16 C3    4
17 C1    3
18 C2    4
19 C1    2
20 C1    2

要对上面创建的数据框中的 Category 和 Sample 列创建表格,请将以下代码添加到上面的代码片段中:

Category<-sample(c("C1","C2","C3","C4"),20,replace=TRUE)
Sample<-sample(1:4,20,replace=TRUE)
df3<-data.frame(Category,Sample)
with(df3,table(Category,Sample))

输出

如果您将上面给出的所有代码片段作为单个程序执行,它将生成以下输出:

     Sample
Category 1 2 3 4
      C1 2 3 4 1
      C2 1 0 2 1
      C3 0 0 0 2
      C4 0 2 1 1

更新于: 2021年11月3日

5K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告