R:使用 dplyr 重命名因子的级别

马可

下面是一个数据框(玩具示例),我想对其进行转换,以便组变为 1、1、2、2、3、3、3。

  group       y
  C           -1.55461160
  C           0.34945015
  A           0.57210825
  A           -0.88019528
  H           0.03307085
  H           1.13494754
  H          -1.65146164

我目前的解决方案是计算组数和每组记录数,并使用这两个部分重新创建组变量,即

ngroups   <- length(unique(df$group))
npergroup <- aggregate(x = rep(1, nrow(df)), by = list(df$group), FUN = sum)$x

df <- df %>%
  mutate(group = rep(1:ngroups, npergroup))

为了优雅起见,您是否有完整的dplyr解决方案?

tmfmk

一种可能是:

df %>%
 mutate(group2 = cumsum(!duplicated(group))) 

  group           y group2
1     C -1.55461160      1
2     C  0.34945015      1
3     A  0.57210825      2
4     A -0.88019528      2
5     H  0.03307085      3
6     H  1.13494754      3
7     H -1.65146164      3

或者您可以使用类似rleid()函数:

df %>%
 mutate(group2 = with(rle(group), rep(seq_along(lengths), lengths)))

如果您只想为“组”分配唯一 ID:

df %>%
 mutate(group2 = group_indices(., group))

  group           y group2
1     C -1.55461160      2
2     C  0.34945015      2
3     A  0.57210825      1
4     A -0.88019528      1
5     H  0.03307085      3
6     H  1.13494754      3
7     H -1.65146164      3

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据R中的条件重命名因子级别

来自分类Dev

如何使用dplyr重命名字符串字符串?

来自分类Dev

重命名R中因子的一级

来自分类Dev

使用dplyr过滤R中的因子水平

来自分类Dev

R dplyr:使用字符串函数重命名变量

来自分类Dev

使用管道运算符时将dplyr的重命名应用于所有列

来自分类Dev

在dplyr中使用重命名和列不存在时避免错误

来自分类Dev

R dplyr ::使用字符串变量重命名并选择

来自分类Dev

使用dplyr为因子的每个级别采样不同数量的随机行

来自分类Dev

使用dplyr重命名列

来自分类Dev

如何在R中合并/重命名因子级别

来自分类Dev

使用dplyr通过函数式编程重命名列

来自分类Dev

使用dplyr有条件地替换因子变量的级别

来自分类Dev

无法使用dplyr重命名列

来自分类Dev

使用tidyselect函数使用dplyr重命名列名

来自分类Dev

根据R(dplyr)中的两个条件进行分组和重命名

来自分类Dev

重命名元素序列(如果出现多次)(R,dplyr)

来自分类Dev

使用dplyr重命名数据帧列表中某些数据帧中的特定列名

来自分类Dev

使用带有dplyr的数据框名称动态重命名

来自分类Dev

使用dplyr重命名重命名多列(across(

来自分类Dev

r / dplyr:在UDF中使用动态命名的变量

来自分类Dev

在R中使用dplyr重命名具有系列索引的多列

来自分类Dev

使用dplyr编程:使用粘合语法用变量重命名列

来自分类Dev

根据R中的条件重命名因子级别

来自分类Dev

使用dplyr通过函数式编程重命名列

来自分类Dev

dplyr:使用rename_重命名变量

来自分类Dev

在 dplyr 中使用重命名和汇总时出错

来自分类Dev

使用 dplyr 以级别频率为条件更改因子级别

来自分类Dev

根据 R 中的条件重命名因子级别

Related 相关文章

热门标签

归档