2017-12-06 3 views
1

tidyr에서 separate 함수를 사용하여 .을 기반으로 첫 번째 열을 분할하려고합니다.열을 여러 열로 분할 - 정리 오류 - 오류

그러나 원하는대로 나눌 수 없습니다. 나는 샘플 입력과 내가 시도한 코드를 포함시켰다.

나는 또한 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