r - 应用滞后或领先于数据框的递增顺序

标签 r dataframe lag lead

df1 <- read.csv("C:/Users/uni/DS-project/df1.csv")
df1

    year value
1  2000     1
2  2001     2
3  2002     3
4  2003     4
5  2004     5
6  2000     1
7  2001     2
8  2002     3
9  2003     4
10 2004     5
11 2000     1
12 2001     2
13 2002     3
14 2003     4
15 2004     5
16 2000     1
17 2001     2
18 2002     3
19 2003     4
20 2004     5

我想应用 lead,这样我就可以以下面的方式获得输出。

我们有一组每年重复 n 次的 5 个观察值,在第一年的输出中我们需要删除 2000 及其各自的值,第二年类似我们忽略 2000 和 2001 及其各自的值,并且对于第 3 年删除 - 2000、2001、2002 及其各自的值。等等。

以便我们可以通过以下方式获得以下输出。

output: 
year    value
2000    1
2001    2
2002    3
2003    4
2004    5
2001    2
2002    3
2003    4
2004    5
2002    3
2003    4
2004    5
2003    4
2004    5

请帮忙。

最佳答案

只是为了好玩,使用矩阵子设置添加矢量化解决方案

m <- matrix(rep(TRUE, nrow(df)), 5)
m[upper.tri(m)] <- FALSE
df[m,]
#    year value
# 1  2000     1
# 2  2001     2
# 3  2002     3
# 4  2003     4
# 5  2004     5
# 7  2001     2
# 8  2002     3
# 9  2003     4
# 10 2004     5
# 13 2002     3
# 14 2003     4
# 15 2004     5
# 19 2003     4
# 20 2004     5

关于r - 应用滞后或领先于数据框的递增顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51399517/

相关文章:

r - 如何将 pmax 应用于 r 中的 xts 对象?

R&Gephi : edges in a network are not properly imported using the rgexf package

r - 从 R 中的一年中获取某个工作日的日期

r - 初始化 data.frames()

r - 如何在 R/Shiny 中构建响应式(Reactive)数据框?

python - 将随机天数添加到一系列日期时间值中

python - 如何计算 pandas Dataframe 中分类数据的子组?

r - 按组从前一行减去值

svn 奇怪的行为 : hangs forever on a single file when importing into svn repository

pseudocode - 区分延迟和正常延迟之间的区别?