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

buhtz 说要接种疫苗

我想根据观察结果的总和对因子进行排序。

df <- mtcars[,c('cyl', 'gear')]
df$cyl <- factor(df$cyl)

str(df)
'data.frame':   32 obs. of  2 variables:
 $ cyl : Factor w/ 3 levels "4","6","8": 2 2 1 2 3 2 3 1 1 2 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...

cyl在各行中查看总和

addmargins(table(df))
     gear
cyl    3  4  5 Sum
  4    1  8  2  11
  6    2  4  1   7
  8   12  0  2  14
  Sum 15 12  5  32

升序cyl应该是6,48我是说

 $ cyl : Factor w/ 3 levels "6","4","8"

我怎么能意识到这一点?

问题的背景是:按 R 中的总和对堆叠条形图中的组进行排序

mo

您可以将所需的排序输入到 的 levels 参数中factor在这种情况下,要即时执行,请将第二行替换为:

df$cyl <- factor(df$cyl, levels=names(sort(table(df$cyl))))

然后你得到

str(df)
'data.frame':   32 obs. of  2 variables:
 $ cyl : Factor w/ 3 levels "6","4","8": 1 1 2 1 3 1 3 2 2 1 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...

此处,使用 计算频率值table,然后使用以升序排序sort结果被提供给 levels 参数,该参数确定 中级别的顺序factor

注意:我最初包裹names在 中as.numeric,但后来发现这没有必要。factor函数执行必要的转换。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

R:如何在ggplots中按另一列(因子或字符标签)对字符列进行排序

按因子对箱线图进行排序(iris、R、ggplot)

如何按R中属性的顺序对向量进行排序?

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

在R中:如何按行名索引对矩阵进行排序?

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

如何使用R在数据框中按因子进行计算?

按计算因子对产品进行排序

通过因子相关数之和对R中的数据进行排序

通过R中的数据对因子水平进行重新排序

按计数对R中的表进行排序

R中按列对元素进行排序

如何在python中按条件排序

如何在 MongoDB 中按带条件的多个字段进行排序

如何按条件排序?

R:根据因子中的第一个数字对因子向量的水平进行排序

根据另一个因子列对R数据框中的因子列进行排序

R中按列对进行条件聚合

在R中按行条件进行子集

在R中按组条件进行子集

如何按多种条件对字符串列表进行排序

打字稿:如何按多个条件对数组进行排序

如何按特定条件对 JavaScript 数组进行排序?

在数据框中按条件对值进行排序

按多个条件对swiftui中的数组进行排序

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

如何对由因子组成的合并数据框和按字母顺序排序的x轴进行ggplot?

如何在Excel中按数据对列进行排序/排序