我试图将数据帧中的特定列向下移动(滞后)n行(例如2行).我只发现比特定列落后1行的帖子.这是一些模拟数据.

df <- data.frame(
  A = seq(1,7), 
  B = seq(8,14),
  C = seq(15,21),
  D = seq(22,28)
)

df

> df
 A  B  C  D
 1  8 15 22
 2  9 16 23
 3 10 17 24
 4 11 18 25
 5 12 19 26
 6 13 20 27
 7 14 21 28

我这里想做的是将A、C和D列中的值向下移动n行,并向我的收件箱添加新行以创建不同的收件箱.具有2行滞后的所需输出的示例如下所示.

> df.lag.example
  A  B  C  D
 NA  8 NA NA
 NA  9 NA NA
  1 10 15 22
  2 11 16 23
  3 12 17 24
  4 13 18 25
  5 14 19 26
  6 NA 20 27
  7 NA 21 28

推荐答案

library(dplyr)

rbind(df, df[0,][rep(NA, 2),]) %>% 
  mutate(across(-2, ~lag(., 2))) %>% 
  `rownames<-`(NULL)

#>    A  B  C  D
#> 1 NA  8 NA NA
#> 2 NA  9 NA NA
#> 3  1 10 15 22
#> 4  2 11 16 23
#> 5  3 12 17 24
#> 6  4 13 18 25
#> 7  5 14 19 26
#> 8  6 NA 20 27
#> 9  7 NA 21 28

创建于2024年4月18日,共有reprex v2.0.2

R相关问答推荐

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

判断字符串中数字的连续性

抖动点与嵌套类别变量箱形图的位置不对齐

次级y轴R gggplot2

RStudio中相关数据的分组箱形图

如何在geom_col中反转条

R Read.table函数无法对制表符分隔的数据正常工作

是否有新方法来更改Facet_WRAP(Ggplot2)中条文本的文本 colored颜色 ?

派生程序包| ;无法检索';return()';的正文

根据约束随机填充向量的元素

R中的类别比较

如何在R中使用hmm TMB提前一步预测观察到的状态?

手动指定从相同数据创建的叠加图的 colored颜色

`-`是否也用于数据帧,有时使用引用调用?

填充图例什么时候会有点?

使用ggplot2绘制具有边缘分布的坡度图

是否从列中删除★符号?

为什么在POSIXct-times的向量上循环会改变R中的类型?

列间序列生成器的功能

从data.table列表中提取特定组值,并在R中作为向量返回