我正在尝试使用dplyr和function创建一个用于创建滞后变量的函数。但是,问题是我找不到如何在mutate函数右侧取消引用变量名。
mutate(dt,
!!varname_t1 := !!varname_t0 # it does not work.
)
Run Code Online (Sandbox Code Playgroud)
以下是我的真实例子。
答:这是示例数据。
df <- tibble(
a = sample(5)
)
# A tibble: 5 x 1
a
<int>
1 3
2 5
3 4
4 1
5 2
Run Code Online (Sandbox Code Playgroud)
我想要这样的数据。
df <- df %>% mutate(a2 = lag(a1))
# A tibble: 5 x 2
a1 a2
<int> <int>
1 3 NA
2 1 3
3 5 1
4 2 5
5 4 2
Run Code Online (Sandbox Code Playgroud)
B.我创建了一个函数,但是它不起作用。我认为问题是这条线。在右侧,我不知道如何取消报价。
!!varname_t1 := !!varname_t0
Run Code Online (Sandbox Code Playgroud)
我的功能是这样的。
lag1_mutate <- …Run Code Online (Sandbox Code Playgroud)