如何在R中按预定的因子级别顺序对数据帧进行排序?

胜代

我有一个数据框,其中一列包含唯一因素。我想按照预定的因子水平顺序对数据框进行排序,而不必依赖原始顺序。

例如,我的数据如下所示:

label <- c('tree','lake','house', 'human')

number <- c(50,1,2,5)


df <- data.frame(

  group = label,

  value = number)

category_order <- category_order = c('tree','house','lake','human') 

df的形式

     group number
1    tree  50
2    lake   1
3    house  2
4    human  5

但我希望将其分类为category_oder,因此df_new如下所示:

     group number
1    tree  50
2    house  2
3    lake   1
4    human  5

我知道在这种情况下,我可以交换第二行和第三行,但是总的来说,我不知道facors会以哪种顺序出现在数据帧中,如果没有强大的功能,我将找不到解决办法关于我可以使用哪些因素以及它们应遵循的顺序的限制。(例如,字母顺序)

阿克伦

我们可以levels将'group'的指定为,category_order并使用它来“安排”

library(dplyr)
df1 <- df %>% 
          arrange(factor(group, levels = category_order))
df1
#  group value
#1  tree    50
#2 house     2
#3  lake     1
#4 human     5

或使用 fct_relevel

library(forcats)
df %>% 
   arrange(fct_relevel(group, category_order))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据数据帧的顺序(而不是按字母顺序)对因子级别进行排序

在R中按类型对数据进行排序

如何按R中的另一个数据框对数据框中的列顺序进行排序?

如何在R中按列按降序对数据排序

按给定列表中的ID顺序对数据进行排序

用R中的两个列因子对数据帧进行重新排序

在R中按特定顺序对数据进行排序

在R中,如何基于列表元素对数据帧的某些列进行降序排序,而其他列按升序排序?

按这些数据帧的名称的字母顺序对数据帧列表进行排序

按指定顺序对R数据帧进行排序

R在数据帧列表的每个数据帧中按字母顺序对列进行排序

按特定的用户定义顺序对数据透视表数据帧的索引进行排序

如何按R中的数据帧列表中的第二行从水平到最大的顺序对列进行排序?

按R中的ALL列对数据框进行排序

按因子对数据框列进行排序

如何按用户定义的顺序对数据帧进行排序(例如,非字母顺序)

如何在R中的表输出中对因子级别进行排序?

按R中的特定顺序对数据帧中的列进行排序

Rails如何按特定顺序对数据库中的记录进行排序?

如何在不使用Spark SQL的情况下在Spark中对数据帧进行排序?

如何像R中的SAS那样按列名对数据帧进行子集化?

如何在R中对多个数据帧进行排序

如何按R中的列名对数据框进行排序?

如何在C ++中从对数字进行排序到按字母顺序进行排序

按字母顺序对数据表进行字母排序,然后按R中的数字值排序

如何在R中按行对数据帧进行排序,然后将其拆分为多个数据帧?

按r中的精确数字顺序对数据集进行排序

如何按R中的条件对因子进行排序?

如何在MapReduce中按降序对数据进行排序?

TOP 榜单

热门标签

归档