She*_*ant 5 r dataframe tidyverse
我想将小标题中的所有列合并为一列以供以后处理。每当我尝试执行此操作时,都会收到错误
if (!after) c(values, x) else if (after >= lengx) c(x, values) else c(x[1L:after], : 在需要 TRUE/FALSE 的情况下缺少值
tidyr :unite 文档说您可以通过不指定任何列来做到这一点。这是一个玩具示例:
ex <- as_tibble(matrix(rnorm(20), ncol = 4))
ex
unite(ex, 'new')
Run Code Online (Sandbox Code Playgroud)
我只是错过了一些 tidyverse 的微妙之处还是……?
因此,我相信即使您想组合所有列,也需要指定列。
为此,您可以只使用 1:x,其中 x 是最后一列编号,无需将它们全部写出。例如,在您的代码中您可以输入:
unite(ex, new, 1:4, sep="")
Run Code Online (Sandbox Code Playgroud)
请记住也要放入 sep= 参数 - sep="" 意味着它们将无间隙地连接在一起,但 sep="." 意味着中间会有一个点。
希望仍然有用!
编辑:为了更轻松地使用列号而不是名称,您可以使用 ncol() 查找要指定的列数,例如 ncol(ex) 在您的示例中返回 4。