将列拆分为多个列 - tidyr - 错误

时间:2017-12-06 00:36:17

标签: r tidyr

我正在尝试使用.中的separate函数基于tidyr拆分第一列。

但是,我无法按照自己的意愿分手。我包含了一个示例输入和我尝试过的代码。

我也尝试使用extra参数,但我无法获得所需的输出。

任何建议将不胜感激。

输入

var       name      tis      score
1       c.1.2.mi1.mi1_dup1.er.er2.er33.0..      t1      9.382828892992
2       c.2.2.mi1.mi1_dup1.er.er2.er33.0..      t2      99.382828892992
3       c.3.2.mi1.mi1_dup1.er.er2.er33.0..      t3      19.382828892992

输出

1       c       1       2       mi1     mi1_dup1        er      er2     er33    0      t1      9.382828892992
2       c       2       2       mi1     mi1_dup1        er      er2     er33    0      t2      99.382828892992
3       c       3       2       mi1     mi1_dup1        er      er2     er33    0      t3      19.382828892992

input %>% separate("name", ".")

错误

Warning message:
Too many values at 6 locations: 1, 2, 3

1 个答案:

答案 0 :(得分:2)

您尚未命名11个输出列:

> input %>% separate(name,into=letters[1:11], sep="\\.")
  var a b c   d   e    f  g   h    i j k tis     score
1   1 c 1 2 mi1 mi1 dup1 er er2 er33 0    t1  9.382829
2   2 c 2 2 mi1 mi1 dup1 er er2 er33 0    t2 99.382829
3   3 c 3 2 mi1 mi1 dup1 er er2 er33 0    t3 19.382829