dplyr:separate 自动名称 "into"-基于 "col" 的列

dplyr:separate auto name "into"-columns based on "col"

假设我有一个数据框:

require(dplyr)
df <- data.frame(COL1 = c("a1 a2 a3", "b1 b2 b3", "c1 c2 c3"), 
                 COL2 = c("x", "y", "z"),
                 COL3 = c("1", "2", "3"))

我希望结果是

  COL1_1 COL1_2 COL1_3 COL2 COL3
1     a1     a2     a3    x    1
2     b1     b2     b3    y    2
3     c1     c2     c3    z    3

我现在要做的是

df %>%
  separate(col = COL1, sep = " ", into = c("COL1_1", "COL1_2", "COL1_3"))

有没有办法自动化表达式的 into 部分?

类似的东西使用原始列名称 COL1 并将其与下标 _i 连接起来,其中 i 是 "subcolumn"。该方法需要自动适应不同数量的 "subcolumns",例如a1, a2, a3,..., an.

这可以通过 cSplit

自动执行
library(splitstackshape)
 cSplit(df, 'COL1', ' ')