如何在 r 中重新排列因子水平(附示例)


有时您可能想要重新排列 R 中某些因子变量的级别。幸运的是,使用以下语法很容易做到这一点:

 factor_variable <- factor (factor_variable, levels =c(' this ', ' that ', ' those ', ...))

下面的例子展示了如何在实际中使用这个功能。

示例:重新排列 R 中的因子水平

首先,让我们创建一个包含因子变量和数值变量的数据框:

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

#view data frame
df

  regional sales
1 to 12
2 B 18
3 C 21
4 D 14
5 E 34

我们可以使用argumentlevels()来获取因子变量区域的当前级别:

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

[1] “A” “B” “C” “D” “E”

我们可以使用以下语法来重新排列因子级别:

 #re-order factor levels for region
df$region <- factor (df$region, levels =c(' A ', ' E ', ' D ', ' C ', ' B '))

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

[1] “A” “E” “D” “C” “B”

因子水平现在按照我们使用levels参数指定的顺序排列。

如果我们想在 R 中创建条形图并根据区域的因子水平对条形图进行排序,我们可以使用以下语法:

 #re-order data frame based on factor levels for region
df <- df[ order ( levels (df$region)),]

#create barplot and place bars in order based on factor levels for region
barplot (df$sales, names =df$region)

重新排列 R 中条形图的因子水平

请注意条形图是如何按照我们为该区域指定的因子水平的顺序排列的。


您可以在此页面上找到更多 R 教程。

添加评论

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