如何添加新级别以考虑 r(举例)


您可以使用以下基本语法向 R 中的因子变量添加新级别:

 levels(df$my_factor) <- c(levels(df$my_factor), ' new_level ')

以下示例展示了如何在实践中使用此语法。

示例:向 R 中的因子添加新水平

假设我们在 R 中有以下数据框,显示零售店在不同地区的销售额:

 #create data frame
df <- data. frame (region=factor(c('A', 'B', NA, 'D', NA, 'F')),
                 sales=c(12, 18, 21, 14, 34, 40))

#view data frame
df

  regional sales
1 to 12
2 B 18
3 <NA> 21
4 D 14
5 <NA> 34
6 F 40

请注意,区域变量是一个因素。

为了可视化这个因素的水平,我们可以使用levels()函数

 #view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F”

我们可以使用以下语法添加一个名为“无区域”的新因子级别:

 #add factor level called 'no region'
levels(df$region) <- c(levels(df$region), ' no region ')

#convert each NA to 'no region'
df$region[is. na (df$region)] <- ' no region '

#view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F” “no region”

名为“无区域”的新级别已添加为因子级别。

如果我们愿意,我们可以使用table()函数来统计每个因子级别的出现次数:

 #view occurrences of each factor level
table(df$region)

ABDF no region 
1 1 1 1 2 

从结果中我们可以看到,称为“无区域”的新因子水平在数据框的区域列中出现了两次。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中将因子转换为数字
R中如何将因子转换为字符
如何在 R 中重新排列因子水平

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注