是否有一个相当于data.table :: rleid的dplyr?

杰森·艾兹卡恩斯

data.table提供了一个很好的便捷功能,rleid用于游程长度编码:

library(data.table)
DT = data.table(grp=rep(c("A", "B", "C", "A", "B"), c(2, 2, 3, 1, 2)), value=1:10)
rleid(DT$grp)
# [1] 1 1 2 2 3 3 3 4 5 5

我可以R用以下方式来模仿

df <- data.frame(DT)
rep(seq_along(rle(df$grp)$values), times = rle(df$grp)$lengths)
# [1] 1 1 2 2 3 3 3 4 5 5

是否有人知道dplyr等效项(?)或创建rleid行为的“最佳”方法dplyr是执行以下操作

library(dplyr)

my_rleid = rep(seq_along(rle(df$grp)$values), times = rle(df$grp)$lengths)

df %>%
  mutate(rleid = my_rleid)
夏普

您可以这样做(当同时加载):

DT <- DT %>% mutate(rlid = rleid(grp))

这给出了:

> DT
    grp value rlid
 1:   A     1    1
 2:   A     2    1
 3:   B     3    2
 4:   B     4    2
 5:   C     5    3
 6:   C     6    3
 7:   C     7    3
 8:   A     8    4
 9:   B     9    5
10:   B    10    5

当您不想单独加载,也可以使用(如@DavidArenburg在评论中所述):

DT <- DT %>% mutate(rlid = data.table::rleid(grp))

正如@RichardScriven在他的评论中所说,您可以复制/窃取它:

myrleid <- data.table::rleid

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用!相当于dplyr ::%in%的data.table (不是)运算符

来自分类Dev

是否有一个相当于@Startup的弹簧?

来自分类Dev

有相当于dplyr :: summarise的大熊猫吗?

来自分类Dev

是否有一个红宝石相当于php __invoke魔术方法?

来自分类Dev

相当于dplyr点的熊猫

来自分类Dev

熊猫相当于dplyr everything()

来自分类Dev

相当于列表的 dplyr::mutate

来自分类Dev

SparkSQL/Hive:相当于 MySQL 的 `information_schema.table.{data_length, table_rows}`?

来自分类Dev

是否有一个相当于MATLAB conv2(h1,h2,A,'same')的python?

来自分类Dev

是否有一个相当于MATLAB conv2(h1,h2,A,'same')的python?

来自分类Dev

相当于Mongoid中的set_table_name

来自分类Dev

SQL SERVER 相当于一个 HashMap?

来自分类Dev

有一个相当于C ++ 11 std :: async的vb.net吗?

来自分类Dev

有一个相当于Swift的fatalError的Objective-C吗?

来自分类Dev

是否有相当于setenv的重击

来自分类Dev

是否有相当于 gdbserver 的 lldb?

来自分类Dev

是否有一个相当于科特林Java的Collections.synchronizedList的?或者这是不是需要科特林

来自分类Dev

data.table或dplyr-数据操作

来自分类Dev

dplyr和data.table的不同结果

来自分类Dev

将 dplyr 转换为 data.table

来自分类Dev

一维 Numpy 数组相当于压缩前一个、当前和后继元素

来自分类Dev

相当于SELECT * FROM table WHERE column1 = column2的熊猫

来自分类Dev

检查一个data.table列中的所有元素是否为另一data.table列中的每个值出现的最快方法

来自分类Dev

Julia相当于dplyr的bind_cols和bind_rows

来自分类Dev

R相当于Python中的Shiny吗?创建一个基于窗口的工具

来自分类Dev

Nuxt相当于Vue Route Guards的“下一个”

来自分类Dev

什么是 Kubuntu 相当于 `gdebi` 的,它提供了一个用于安装 .deb 文件的 GUI?

来自分类Dev

如何声明一个空的 NUMERIC 变量?(相当于java中的“int x;”)

来自分类Dev

如何用现有data.table的列名构造一个空的data.table?

Related 相关文章

  1. 1

    使用!相当于dplyr ::%in%的data.table (不是)运算符

  2. 2

    是否有一个相当于@Startup的弹簧?

  3. 3

    有相当于dplyr :: summarise的大熊猫吗?

  4. 4

    是否有一个红宝石相当于php __invoke魔术方法?

  5. 5

    相当于dplyr点的熊猫

  6. 6

    熊猫相当于dplyr everything()

  7. 7

    相当于列表的 dplyr::mutate

  8. 8

    SparkSQL/Hive:相当于 MySQL 的 `information_schema.table.{data_length, table_rows}`?

  9. 9

    是否有一个相当于MATLAB conv2(h1,h2,A,'same')的python?

  10. 10

    是否有一个相当于MATLAB conv2(h1,h2,A,'same')的python?

  11. 11

    相当于Mongoid中的set_table_name

  12. 12

    SQL SERVER 相当于一个 HashMap?

  13. 13

    有一个相当于C ++ 11 std :: async的vb.net吗?

  14. 14

    有一个相当于Swift的fatalError的Objective-C吗?

  15. 15

    是否有相当于setenv的重击

  16. 16

    是否有相当于 gdbserver 的 lldb?

  17. 17

    是否有一个相当于科特林Java的Collections.synchronizedList的?或者这是不是需要科特林

  18. 18

    data.table或dplyr-数据操作

  19. 19

    dplyr和data.table的不同结果

  20. 20

    将 dplyr 转换为 data.table

  21. 21

    一维 Numpy 数组相当于压缩前一个、当前和后继元素

  22. 22

    相当于SELECT * FROM table WHERE column1 = column2的熊猫

  23. 23

    检查一个data.table列中的所有元素是否为另一data.table列中的每个值出现的最快方法

  24. 24

    Julia相当于dplyr的bind_cols和bind_rows

  25. 25

    R相当于Python中的Shiny吗?创建一个基于窗口的工具

  26. 26

    Nuxt相当于Vue Route Guards的“下一个”

  27. 27

    什么是 Kubuntu 相当于 `gdebi` 的,它提供了一个用于安装 .deb 文件的 GUI?

  28. 28

    如何声明一个空的 NUMERIC 变量?(相当于java中的“int x;”)

  29. 29

    如何用现有data.table的列名构造一个空的data.table?

热门标签

归档