r-为数据帧中类别(由2个以上字段定义)中的每一行创建一个序列号

生态博客

我想在数据框的每个组/子集中生成一个ID号,其中每个组由两个或多个字段定义。在此测试数据集中,我想使用“ personid”和“ date”作为类别:

personid date measurement 
1         x     23
1         x     32
2         y     21
3         x     23
3         z     23
3         y     23

我希望为id列添加一个值,该值分别是两个列“ personid”和“ date”的每个唯一组合的值,始终以1开头。这是我想要的输出:

personid date measurement id
1         x     23         1
1         x     32         1
2         y     21         1
3         x     23         1
3         z     23         2
3         y     23         3

这与3年的版本类似,为数据框的每个组中的行创建一个序列号(计数器),但是经过多次尝试,我无法扩展其2+字段类别定义的逻辑。谢谢!

智慧

与@Procrastinatus Maximus的想法相同rleid,这是dplyr它的一个版本:

library(dplyr)
df %>% 
      arrange(personid, date) %>% 
      group_by(personid) %>% 
      mutate(id = cumsum(date != lag(date, default = first(date))) + 1)
      # +1 converts the zero based id to one based id here

# Source: local data frame [6 x 4]
# Groups: personid [3]
#
#   personid   date measurement    id
#      <int> <fctr>       <int> <dbl>
# 1        1      x          23     1
# 2        1      x          32     1
# 3        2      y          21     1
# 4        3      x          23     1
# 5        3      y          23     2
# 6        3      z          23     3

为了rleidcumsum在这里工作,我们必须由数据帧进行排序personid,然后date,因为这两种方法只在乎相邻值。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用r中的另一个数据替换列表中的每一行

来自分类Dev

根据另一个数据帧在R数据帧中创建变量

来自分类Dev

R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

来自分类Dev

合并两个R数据帧并标识每一行的源

来自分类Dev

如果一个值为NA,则更新R中数据帧中的一行

来自分类Dev

将自定义函数应用于R中数据帧中每一行的两列

来自分类Dev

在R中,对两个匹配数据帧的每一行进行排序

来自分类Dev

为R中的每一行运行一个循环

来自分类Dev

创建新变量,将数据帧的所有变量除以每一行中的相同变量-R

来自分类Dev

R-每隔一个负数的序列号

来自分类Dev

使用R中的Apply系列将2列数据帧的每一行传递给我创建的函数?

来自分类Dev

如何从R中仅一个数据帧的可能组合创建数据帧

来自分类Dev

如何为R中的数据表中的每一行创建子类别

来自分类Dev

如何绘制一个数据帧,其中需要将顶部的4列分组为R中的2个?

来自分类Dev

用r中的另一个数据替换列表中的每一行

来自分类Dev

将每一行的所有列连接为一个字符串,并将其写入R中的另一个数据帧

来自分类Dev

如何用列计算在R中创建一个数据帧,该计算引用前一行中的自身值?

来自分类Dev

替换超出范围的值引用r中每一行的另一个数据框

来自分类Dev

R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

来自分类Dev

如何提取数据帧的每一行并将解析的字符串从另一个数据帧添加到R中第一个数据帧的列

来自分类Dev

在R中打印合并数据帧的每一行

来自分类Dev

在R中将数据帧归类为R中的另一个数据帧

来自分类Dev

在R上为Excel格式的每一行分配一个变量

来自分类Dev

为R数据帧中的每一行绘制一个函数

来自分类Dev

查找一个数据帧中的一行出现在R中的另一个数据帧中的时间

来自分类Dev

在R中为数据帧的每一行绘制不同的行

来自分类Dev

每 15 分钟在 R 中创建一个时间序列

来自分类Dev

r,为我的b列中的每一行分配一个NA值,对应于我的a列中的NA

来自分类Dev

如何基于另一个对称数据帧在 R 中创建对称数据帧

Related 相关文章

  1. 1

    用r中的另一个数据替换列表中的每一行

  2. 2

    根据另一个数据帧在R数据帧中创建变量

  3. 3

    R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

  4. 4

    合并两个R数据帧并标识每一行的源

  5. 5

    如果一个值为NA,则更新R中数据帧中的一行

  6. 6

    将自定义函数应用于R中数据帧中每一行的两列

  7. 7

    在R中,对两个匹配数据帧的每一行进行排序

  8. 8

    为R中的每一行运行一个循环

  9. 9

    创建新变量,将数据帧的所有变量除以每一行中的相同变量-R

  10. 10

    R-每隔一个负数的序列号

  11. 11

    使用R中的Apply系列将2列数据帧的每一行传递给我创建的函数?

  12. 12

    如何从R中仅一个数据帧的可能组合创建数据帧

  13. 13

    如何为R中的数据表中的每一行创建子类别

  14. 14

    如何绘制一个数据帧,其中需要将顶部的4列分组为R中的2个?

  15. 15

    用r中的另一个数据替换列表中的每一行

  16. 16

    将每一行的所有列连接为一个字符串,并将其写入R中的另一个数据帧

  17. 17

    如何用列计算在R中创建一个数据帧,该计算引用前一行中的自身值?

  18. 18

    替换超出范围的值引用r中每一行的另一个数据框

  19. 19

    R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

  20. 20

    如何提取数据帧的每一行并将解析的字符串从另一个数据帧添加到R中第一个数据帧的列

  21. 21

    在R中打印合并数据帧的每一行

  22. 22

    在R中将数据帧归类为R中的另一个数据帧

  23. 23

    在R上为Excel格式的每一行分配一个变量

  24. 24

    为R数据帧中的每一行绘制一个函数

  25. 25

    查找一个数据帧中的一行出现在R中的另一个数据帧中的时间

  26. 26

    在R中为数据帧的每一行绘制不同的行

  27. 27

    每 15 分钟在 R 中创建一个时间序列

  28. 28

    r,为我的b列中的每一行分配一个NA值,对应于我的a列中的NA

  29. 29

    如何基于另一个对称数据帧在 R 中创建对称数据帧

热门标签

归档