2017-12-06 4 views
1

.に基づいて最初の列を分割しようとしています関数を使用してtidyrから。列を複数の列に分割 - 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 

答えて

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 
関連する問題