首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您能列出tidyselect‘`everything()的例外吗?

您能列出tidyselect‘`everything()的例外吗?
EN

Stack Overflow用户
提问于 2019-10-23 22:58:57
回答 1查看 669关注 0票数 4
代码语言:javascript
复制
library(tidyverse)
iris %>% as_tibble() %>% select(everything())

#> # A tibble: 150 x 5
#>    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#>           <dbl>       <dbl>        <dbl>       <dbl> <fct>  
#>  1          5.1         3.5          1.4         0.2 setosa 
#>  2          4.9         3            1.4         0.2 setosa 
#>  3          4.7         3.2          1.3         0.2 setosa 
#>  4          4.6         3.1          1.5         0.2 setosa 
#>  5          5           3.6          1.4         0.2 setosa 
#>  6          5.4         3.9          1.7         0.4 setosa 
#>  7          4.6         3.4          1.4         0.3 setosa 
#>  8          5           3.4          1.5         0.2 setosa 
#>  9          4.4         2.9          1.4         0.2 setosa 
#> 10          4.9         3.1          1.5         0.1 setosa 
#> # ... with 140 more rows

假设我想选择iris数据帧中的所有内容,除了Species。如何在使用tidyselect::everything()时列出此异常

我的实际管道在下面,什么时候

代码语言:javascript
复制
... %>% 
group_by(`ID`) %>% 
fill(everything, .direction = "updown") %>% 
... %>% 

我得到了以下错误:

错误:无法修改列ID,因为它是一个分组变量

EN

回答 1

Stack Overflow用户

发布于 2019-10-24 16:54:42

你会做的

代码语言:javascript
复制
iris %>% as_tibble() %>% select(-Species)

但是,假设您有充分的理由不想这样做,下面是一种使用everything()的方法

代码语言:javascript
复制
iris %>% as_tibble() %>% select(setdiff(everything(), one_of("Species")))
#> # A tibble: 150 x 4
#>    Sepal.Length Sepal.Width Petal.Length Petal.Width
#>           <dbl>       <dbl>        <dbl>       <dbl>
#>  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          4.6         3.1          1.5         0.2
#>  5          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.4         2.9          1.4         0.2
#> 10          4.9         3.1          1.5         0.1
#> # ... with 140 more rows

(如果可以接受的话,也可以只使用iris %>% as_tibble() %>% select(setdiff(everything(), 5)) )

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58531982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档