Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/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 如何使用tidydots以备不时之需?_R_Rlang_Tidyeval - Fatal编程技术网

R 如何使用tidydots以备不时之需?

R 如何使用tidydots以备不时之需?,r,rlang,tidyeval,R,Rlang,Tidyeval,dplyr::case_when的文档说明“这些点支持整齐的点功能。特别是,如果您的图案存储在列表中,您可以使用!!!”将其拼接在一起。”但我似乎不知道如何做。关于stackoverflow这个问题的现有问题似乎已经过时了——可能是rlang 0.3.0之前的问题 以下是我尝试过的: myu案例萼片。长萼片。宽花瓣。长花瓣。宽种 #> #>1 5.1 3.5 1.4 0.2刚毛 #>2 4.9 3 1.4 0.2刚毛 #>3

dplyr::case_when
的文档说明“这些点支持整齐的点功能。特别是,如果您的图案存储在列表中,您可以使用!!!”将其拼接在一起。”但我似乎不知道如何做。关于stackoverflow这个问题的现有问题似乎已经过时了——可能是rlang 0.3.0之前的问题

以下是我尝试过的:

myu案例萼片。长萼片。宽花瓣。长花瓣。宽种
#>                                    
#>1 5.1 3.5 1.4 0.2刚毛
#>2 4.9 3 1.4 0.2刚毛
#>3 4.7 3.2 1.3 0.2刚毛
#>4.6 3.1 1.5 0.2刚毛
#>5 3.6 1.4 0.2刚毛
#>6 5.4 3.9 1.7 0.4刚毛
#>7.4.6 3.4 1.4 0.3刚毛
#>8 5 3.4 1.5 0.2刚毛
#>9.4.2.9 1.4 0.2刚毛
#>10 4.9 3.1 1.5 0.1刚毛
#>#…还有140行
dplyr::突变(tiris,
new_label=dplyr::case_when(!!!my_cases)
)
#>eval_tidy中出错(对$lhs,env=default_env):未找到对象“物种”
开发工具::会话信息()
#> ─ 会话信息──────────────────────────────────────────────────────────
#>设定值
#>R版3.5.3版(2019-03-11)
#>马科斯·莫哈韦10.14.3
#>系统x86_64,达尔文15.6.0
#>ui X11
#>语言(英文)
#>核对en_US.UTF-8
#>ctype en_US.UTF-8
#>tz美国/纽约
#>日期2019-03-31
#> 
#> ─ 包装──────────────────────────────────────────────────────────────
#>包*版本日期库源
#>资产负债表0.2.1 2019-03-21[1]起重机(R 3.5.3)
#>后端口1.1.3 2018-12-14[1]起重机(R 3.5.0)
#>callr 3.2.0 2019-03-15[1]起重机(R 3.5.1)
#>cli 1.1.0 2019-03-19[1]起重机(R 3.5.1)
#>蜡笔1.3.4 2017-09-16[1]克兰(R3.5.0)
#>描述1.2.0 2018-05-01[1]起重机(R 3.5.0)
#>devtools 2.0.1 2018-10-26[1]起重机(R 3.5.3)
#>摘要0.6.18 2018-10-10[1]克兰(R 3.5.0)
#>dplyr 0.8.0.1 2019-02-15[1]起重机(R 3.5.2)
#>评估0.13 2019-02-12[1]起重机(R 3.5.2)
#>fansi 0.4.0 2018-10-05[1]CRAN(R 3.5.0)
#>fs 1.2.7 2019-03-19[1]起重机(R 3.5.3)
#>胶水1.3.1 2019-03-12[1]起重机(R 3.5.1)
#>高0.8 2019-03-20[1]克兰(R 3.5.3)
#>htmltools 0.3.6 2017-04-28[1]CRAN(R 3.5.0)
#>克尼特1.22 2019-03-08[1]克兰(R 3.5.2)
#>magrittr 1.5 2014-11-22[1]CRAN(R 3.5.0)
#>备忘录1.1.0 2017-04-21[1]克兰(R 3.5.0)
#>支柱1.3.1 2018-12-15[1]起重机(R 3.5.0)
#>pkgbuild 1.0.3 2019-03-20[1]起重机(R 3.5.3)
#>pkgconfig 2.0.2 2018-08-16[1]起重机(R 3.5.0)
#>pkgload 1.0.2 2018-10-29[1]CRAN(R 3.5.0)
#>prettyunits 1.0.2 2015-07-13[1]CRAN(R 3.5.0)
#>processx 3.3.0 2019-03-10[1]起重机(R 3.5.2)
#>ps 1.3.0 2018-12-21[1]起重机(R 3.5.0)
#>purrr 0.3.2 2019-03-15[1]起重机(R 3.5.1)
#>R6 2.4.0 2019-02-14[1]起重机(R3.5.2)
#>Rcpp 1.0.1 2019-03-17[1]起重机(R 3.5.1)
#>遥控器2.0.2 2018-10-30[1]起重机(R 3.5.0)
#>rlang 0.3.3 2019-03-29[1]起重机(R 3.5.3)
#>R标记1.12 2019-03-14[1]起重机(R 3.5.1)
#>rprojroot 1.3-2 2018-01-03[1]起重机(R 3.5.0)
#>sessioninfo 1.1.1 2018-11-05[1]CRAN(R 3.5.0)
#>stringi 1.4.3 2019-03-12[1]起重机(R 3.5.1)
#>纵梁1.4.0 2019-02-10[1]起重机(R 3.5.2)
#>测试2.0.1 2018-10-13[1]起重机(R 3.5.0)
#>tibble 2.1.1 2019-03-16[1]起重机(R 3.5.1)
#>tidyselect 0.2.5 2018-10-11[1]克兰(R 3.5.0)
#>使用本1.4.0 2018-08-14[1]起重机(R 3.5.0)
#>utf8 1.1.4 2018-05-24[1]起重机(R 3.5.0)
#>带R 2.1.2 2018-03-15[1]起重机(R 3.5.0)
#>xfun 0.5 2019-02-20[1]起重机(R 3.5.2)
#>yaml 2.2.0 2018-07-25[1]克兰(R 3.5.0)
#> 
#>[1]/Library/Frameworks/R.framework/Versions/3.5/Resources/Library

一个选项是创建一个quosure(
quos
),然后使用

my_cases <-   quos(Species == "setosa" ~ "S", 
                    TRUE ~ "other")

out <-  tiris %>% 
            mutate(new_lable = case_when(!!! my_cases))
head(out, 3)
# A tibble: 3 x 6
#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species new_lable
#         <dbl>       <dbl>        <dbl>       <dbl> <fct>   <chr>    
#1          5.1         3.5          1.4         0.2 setosa  S        
#2          4.9         3            1.4         0.2 setosa  S        
#3          4.7         3.2          1.3         0.2 setosa  S        

tail(out, 3)
# A tibble: 3 x 6
#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species   new_lable
#         <dbl>       <dbl>        <dbl>       <dbl> <fct>     <chr>    
#1          6.5         3            5.2         2   virginica other    
#2          6.2         3.4          5.4         2.3 virginica other    
#3          5.9         3            5.1         1.8 virginica other    

my_最理想的情况是,您第一次尝试的语法应该可以工作,但由于模糊的技术原因,很难实现。希望我们将来能解决这个问题。