R公式相当于Pyspark

时间:2017-08-17 00:24:57

标签: r pyspark

我正在尝试为下面的R代码找到等效的Pyspark代码。

生成滞后变量

car <-
  car %>%
  group_by(Model) %>%
  mutate(Target.1 = lag(Target, 3),Sales.1 = lag(Sales, 3))

有什么想法吗? 谢谢

1 个答案:

答案 0 :(得分:1)

我认为使用Window函数应该可以工作,尽管你需要按顺序排序:

import pyspark.sql.functions as func
from pyspark.sql.window import Window

window = Window.partitionBy("Model").orderBy( ??? )
car = car.withColumn("Target.1", func.lag("Target", 3).over(window))\
    .withColumn("Sales.1", func.lag("Sales", 3))