【发布时间】:2018-02-04 13:16:00
【问题描述】:
我想将 tibble 中的所有列合并为一个以供以后处理。每当我尝试这样做时,我都会收到错误
if (!after) c(values, x) else if (after >= lengx) c(x, values) else c(x[1L:after], 中的错误:需要 TRUE/FALSE 的地方缺少值
tidyr:unite documentation 表示您可以通过不指定任何列来执行此操作。这是一个玩具示例:
ex <- as_tibble(matrix(rnorm(20), ncol = 4))
ex
unite(ex, 'new')
我只是错过了一些 tidyverse 的微妙之处还是......?
【问题讨论】:
-
您可以使用
dplyr::everything()来引用列,例如as_tibble(matrix(rnorm(20), ncol = 4)) %>% unite(new, everything()),尽管这一切看起来都是个可怕的主意。 -
...虽然文档似乎已经过时了。它可能是 rlang 切换的产物,但无论如何都值得 GitHub 问题,如果不存在的话。