如何在 R 数据框中使用因子的唯一水平创建新的水平?


要使用 R 数据框中因子的唯一水平创建新的水平,我们可以按照以下步骤操作:

  • 首先,创建一个包含因子列的数据框。
  • 然后,使用 table 和 levels 函数为因子列中的唯一值创建新的水平。

创建数据框

让我们创建一个如下所示的数据框:

 在线演示

> Factor<-factor(sample(LETTERS[1:15],20,replace=TRUE))
> df<-data.frame(Factor)
> df

执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):

Factor
1 O
2 D
3 K
4 M
5 C
6 M
7 K
8 F
9 L
10 H
11 E
12 N
13 O
14 E
15 G
16 H
17 E
18 K
19 K
20 F

使用因子列中唯一值创建新水平

使用 levels 函数和 table 函数为因子列中唯一值创建新水平,并使用单个方括号对列进行子集化:

 在线演示

> Factor<-factor(sample(LETTERS[1:15],20,replace=TRUE))
> df<-data.frame(Factor)
> levels(df[,1])[table(df[,1])==1]<-"New_Level"
> df

输出

Factor
1 O
2 New_Level
3 K
4 M
5 New_Level
6 M
7 K
8 F
9 New_Level
10 H
11 E
12 New_Level
13 O
14 E
15 New_Level
16 H
17 E
18 K
19 K
20 F

更新于:2021年8月13日

402 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告