小编aas*_*ngh的帖子

在dplyr中取消引用mutate函数右侧的变量名称

我正在尝试使用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)

r dplyr

6
推荐指数
1
解决办法
790
查看次数

标签 统计

dplyr ×1

r ×1