在R中,拆分数据帧,以便子集数据帧包含先前数据帧的最后一行和后续数据帧的第一行

特德沃德

关于如何拆分数据帧有很多答案,例如,如何拆分数据帧?

但是,我想拆分一个数据框,以便较小的数据框包含上一个数据框的最后一行和下一个数据框的第一行。

这是一个例子

n <- 1:9
group <- rep(c("a","b","c"), each = 3)
data.frame(n = n, group)

  n  group
1 1     a
2 2     a
3 3     a
4 4     b
5 5     b
6 6     b
7 7     c
8 8     c
9 9     c

我希望输出看起来像:

 d1 <- data.frame(n = 1:4, group = c(rep("a",3),"b"))
 d2 <- data.frame(n = 3:7, group = c("a",rep("b",3),"c"))
 d3 <- data.frame(n = 6:9, group = c("b",rep("c",3)))
 d <- list(d1, d2, d3)
 d

[[1]]
  n group
1 1     a
2 2     a
3 3     a
4 4     b

[[2]]
  n group
1 3     a
2 4     b
3 5     b
4 6     b
5 7     c

[[3]]
  n group
1 6     b
2 7     c
3 8     c
4 9     c

什么是完成此任务的有效方法?

G.格洛腾迪克

假设DF是原始的data.frame,其中包含列ngroupn在的行数DF现在定义一个extract给定索引序列的函数ix将其放大以包括第一个索引之前的索引和最后一个索引之后的索引,然后返回的那些行DF现在我们已经定义extract了矢量1,...,n的分组,并将其应用于extract拆分的每个分量。

n <- nrow(DF)
extract <- function(ix) DF[seq(max(1, min(ix) - 1), min(n, max(ix) + 1)), ]
lapply(split(seq_len(n), DF$group), extract)

$a
  n group
1 1     a
2 2     a
3 3     a
4 4     b

$b
  n group
3 3     a
4 4     b
5 5     b
6 6     b
7 7     c

$c
  n group
6 6     b
7 7     c
8 8     c
9 9     c

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据帧的条件子集保持上一行

来自分类Dev

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

来自分类Dev

通过保留数据帧的第一行和最后一行来删除具有特定值的行

来自分类Dev

子集数据帧,但跳过一些行

来自分类Dev

检查数据帧的每一行是否包含在另一个数据帧中

来自分类Dev

使用dplyr从R数据帧的最后一列最后一行更改值

来自分类Dev

将包含列表的数据帧列中的每个单元格转换为数据帧中的一行

来自分类Dev

查找数据帧中每一行的出现次数

来自分类Dev

数据帧中每一行的矩阵乘法

来自分类Dev

修改数据帧每一行中的值

来自分类Dev

如何获取转换后的数据帧中第一列的第一行

来自分类Dev

通过一行的条件值对 R 数据帧进行子集

来自分类Dev

R中的条件子集数据帧

来自分类Dev

如何根据R中的另一个数据帧过滤和子集数据帧

来自分类Dev

子集数据帧包含系统日期的行

来自分类Dev

在一定条件下,将每一行的数据帧拆分为多个数据帧

来自分类Dev

如何按R中的特定行拆分数据帧

来自分类Dev

如何按R中的特定行拆分数据帧

来自分类Dev

在新列中转换数据帧的第一行(到列表中)并删除第一行

来自分类Dev

在新列中转换数据帧的第一行(到列表中)并删除第一行

来自分类Dev

将一行数据转换为R中的数据帧

来自分类Dev

如何用R中同一行中的先前值替换数据帧中的任何NA

来自分类Dev

仅重复第一行和经纬度,并使用 Pandas 数据帧的长度时间

来自分类Dev

在另一个数据帧中计算一行熊猫数据帧

来自分类Dev

R-删除列表的最后一行并转换列表中数据帧中的列中的行

来自分类Dev

R-删除列表的最后一行并转换列表中数据帧中的列中的行

来自分类Dev

如何测试数据帧最后一行中的特定值(使用-1)

来自分类Dev

如何使用R复制数据帧每个子组的第一行?

来自分类Dev

如何计算数据帧的所有行与 r 中的最后一行之间的欧几里德距离

Related 相关文章

  1. 1

    数据帧的条件子集保持上一行

  2. 2

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

  3. 3

    通过保留数据帧的第一行和最后一行来删除具有特定值的行

  4. 4

    子集数据帧,但跳过一些行

  5. 5

    检查数据帧的每一行是否包含在另一个数据帧中

  6. 6

    使用dplyr从R数据帧的最后一列最后一行更改值

  7. 7

    将包含列表的数据帧列中的每个单元格转换为数据帧中的一行

  8. 8

    查找数据帧中每一行的出现次数

  9. 9

    数据帧中每一行的矩阵乘法

  10. 10

    修改数据帧每一行中的值

  11. 11

    如何获取转换后的数据帧中第一列的第一行

  12. 12

    通过一行的条件值对 R 数据帧进行子集

  13. 13

    R中的条件子集数据帧

  14. 14

    如何根据R中的另一个数据帧过滤和子集数据帧

  15. 15

    子集数据帧包含系统日期的行

  16. 16

    在一定条件下,将每一行的数据帧拆分为多个数据帧

  17. 17

    如何按R中的特定行拆分数据帧

  18. 18

    如何按R中的特定行拆分数据帧

  19. 19

    在新列中转换数据帧的第一行(到列表中)并删除第一行

  20. 20

    在新列中转换数据帧的第一行(到列表中)并删除第一行

  21. 21

    将一行数据转换为R中的数据帧

  22. 22

    如何用R中同一行中的先前值替换数据帧中的任何NA

  23. 23

    仅重复第一行和经纬度,并使用 Pandas 数据帧的长度时间

  24. 24

    在另一个数据帧中计算一行熊猫数据帧

  25. 25

    R-删除列表的最后一行并转换列表中数据帧中的列中的行

  26. 26

    R-删除列表的最后一行并转换列表中数据帧中的列中的行

  27. 27

    如何测试数据帧最后一行中的特定值(使用-1)

  28. 28

    如何使用R复制数据帧每个子组的第一行?

  29. 29

    如何计算数据帧的所有行与 r 中的最后一行之间的欧几里德距离

热门标签

归档