Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R(dplyr、rlang、tidy)中强制使用比较运算符的名称_R_Dplyr_Rlang - Fatal编程技术网

在R(dplyr、rlang、tidy)中强制使用比较运算符的名称

在R(dplyr、rlang、tidy)中强制使用比较运算符的名称,r,dplyr,rlang,R,Dplyr,Rlang,当我在LHS上有一个强制表达式名称时,:=的等价物是什么?/p 预图书馆(dplyr) 图书馆(tibble) i-1 dat-TIBLE(n=1:5)%% 行() 突变(!!paste0(“x_u2;”,i):=rbinom(1,1,5), x_2=1) dat%>% 变异(!!paste0(“test”,i):=案例(当(!!paste0(“x”,i)% 变异(!!paste0(“test”,i+1):=案例(当(!!paste0(“x”,i)=!!paste0(“x”,2)~1,TRUE~

当我在LHS上有一个强制表达式名称时,
:=
的等价物是什么?/p 预图书馆(dplyr) 图书馆(tibble) i-1 dat-TIBLE(n=1:5)%% 行() 突变(!!paste0(“x_u2;”,i):=rbinom(1,1,5), x_2=1) dat%>% 变异(!!paste0(“test”,i):=案例(当(!!paste0(“x”,i)<!!paste0(“x,2)~1,TRUE~0))时 dat%>% 变异(!!paste0(“test”,i+1):=案例(当(!!paste0(“x”,i)=!!paste0(“x”,2)~1,TRUE~0))
没有:==,:我们需要转换为
sym
bol并计算(
!!
)。另外,在进行比较之前,最好将
解组
删除
属性

library(dplyr)
dat %>%
    ungroup %>%
    mutate(!! paste0("test_", i) := 
    case_when(!! rlang::sym(paste0("x_", i)) < 
              !! rlang::sym(paste0("x_", 2)) ~ 1,
             TRUE ~ 0))
库(dplyr)
dat%>%
解组%>%
突变(!!paste0(“测试”),i):=
当(!!rlang::sym(paste0(“x_u”,i))<
!!rlang::sym(粘贴0(“x_”,2))~1,
真的(0)
-输出

# A tibble: 5 x 4
#      n   x_1   x_2 test_1
#  <int> <int> <dbl>  <dbl>
#1     1     1     1      0
#2     2     0     1      1
#3     3     0     1      1
#4     4     1     1      0
#5     5     0     1      1
#一个tible:5 x 4
#nx_1 x_2测试
#      
#1     1     1     1      0
#2     2     0     1      1
#3     3     0     1      1
#4     4     1     1      0
#5     5     0     1      1

我们需要转换为
sym
bol并进行评估(
!!
)。另外,在进行比较之前,最好将
解组
删除
属性

library(dplyr)
dat %>%
    ungroup %>%
    mutate(!! paste0("test_", i) := 
    case_when(!! rlang::sym(paste0("x_", i)) < 
              !! rlang::sym(paste0("x_", 2)) ~ 1,
             TRUE ~ 0))
库(dplyr)
dat%>%
解组%>%
突变(!!paste0(“测试”),i):=
当(!!rlang::sym(paste0(“x_u”,i))<
!!rlang::sym(粘贴0(“x_”,2))~1,
真的(0)
-输出

# A tibble: 5 x 4
#      n   x_1   x_2 test_1
#  <int> <int> <dbl>  <dbl>
#1     1     1     1      0
#2     2     0     1      1
#3     3     0     1      1
#4     4     1     1      0
#5     5     0     1      1
#一个tible:5 x 4
#nx_1 x_2测试
#      
#1     1     1     1      0
#2     2     0     1      1
#3     3     0     1      1
#4     4     1     1      0
#5     5     0     1      1

其他几个选项包括:

  • .data

  • 其他几个选项包括:

  • .data
  • dat %>%
      ungroup %>%
      mutate(!!paste0("test_", i) := 
               case_when(get(paste0("x_", i)) < get(paste0("x_", 2)) ~ 1,
                         TRUE ~ 0))