【问题标题】:variable generation referencing different rows引用不同行的变量生成
【发布时间】:2015-01-23 02:59:59
【问题描述】:

我无法循环遍历数据框并计算一个变量,该变量是不同/多行的函数。请参阅以下数据作为示例。

date	var1	var2	var3
12/29/2013	10	34	0
12/30/2013	10	34	15
12/31/2013	8	27	15
1/1/2014	8	27	0
1/2/2014	2	7	10
1/3/2014	10	35	20
1/4/2014	13	45	10

我想创建一个变量,它是当前行和下一行的函数。例如,

var4(12/31/2013) = var1(12/31/2013) + var2(1/1/2014) + var3(12/31/2013)

对于数据框中的最后一个元素,没有 (n+1) 变量,所以在这种情况下我想分配一个缺失值/异常值。你能提供的任何指导都会很棒。提前谢谢!

【问题讨论】:

  • 只需将向量 var2 向后移动一个元素:your.dataframe$var4 <- with(your.dataframe, var1 + var3 + c(var2[-1],NA))
  • @MaratTalipov - 这是一个非常好的答案。你应该发布它
  • 这就像一个魅力。谢谢!

标签: r


【解决方案1】:

你可以试试

 library(dplyr)
 df %>%
     mutate(var4=var1+lead(var2)+var3)

【讨论】:

  • 非常好。我不知道lead()
猜你喜欢
  • 2019-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
相关资源
最近更新 更多