领先/落后的观察与嵌套数据

时间:2019-10-19 10:26:53

标签: r

我想基于

生成一个新变量

1. 当前观测值的嵌套向量

2. 当前和其他观测值。

这是我的例子:

sub

我想创建一个等于的新变量

multi

此代码显然是错误的语法,仅用于演示我要计算的内容。根据{{​​1}}的值,需要使用multi store(\self, Int) { say "Int" } multi store(\self, Str) { say "Str" } my $a := Proxy.new( FETCH => -> $ { 42 }, STORE => &store, ); say $a; # 42 $a = 42; # Int $a = "foo"; # Str 的当前以及领先或落后(或两者)的观测值。

此示例中的预期结果为 D <- tibble(team = c(101, 101, 101, 102, 102, 102), id = c(1, 2, 3, 1, 2, 3), x = c(3, 7, 5, 1, 4, 10), y = list(c(5,5,5), c(8,5,2), c(6,2,7), c(3,9,3), c(8,3,4), c(4,4,7)))

我已经尝试过类似abs(y[1] - x[id==1]) + abs(y[2] - x[id==2]) + abs(y[3] - x[id==3])的方法,然后尝试使用x,但是我找不到任何有希望的方法。 什么是最优雅的解决方案?非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在按“团队”分组后,我们可以使用map遍历list列,然后获得sum的{​​{1}}列与“ x'

abs