2016-06-15 2 views
0

다음 예에서 unite_() 출력에 unite() 출력에 추가 열이있는 이유는 무엇입니까? 여기tidyr의 'unite_` vs`unite`를 사용하는 추가 열

library(tidyr) 

x1 <- data.frame(Sample=c("A", "B"), "1"=c("-", "y"), 
       "2"=c("-", "z"), "3"=c("x", "a"), check.names=F) 
# Sample 1 2 3 
# 1  A - - x 
# 2  B y z a 

우리가 원하는 출력을 참조하십시오

unite(x1, mix, 2:ncol(x1), sep=",") 
# Sample mix 
# 1  A -,-,x 
# 2  B y,z,a 

왜 추가 열합니다 (1 열) 여기가? 기본값은 unite_()에서 사용하는 열을 제거하는 것입니다.

unite_(x1, "mix", 2:ncol(x1), sep=",") 
# Sample 1 mix 
# 1  A - -,-,x 
# 2  B y y,z,a 

참고 : tidyr 버전 0.5.1

답변

1

구문은 두 가지 용도 사이에 약간 다릅니다 :

#unite(data, col, ..., sep = "_", remove = TRUE) 
#unite_(data, col, from, sep = "_", remove = TRUE) 

unite_ 도움말 페이지에서의 from 옵션입니다 "문자 벡터로 기존 열의 이름"으로 정의됩니다.

를 사용하여 열 이름 열 번호에 반대 원하는 결과 제공 :

unite_(x1, "mix", names(x1[,2:ncol(x1)]), sep=",") 
# Sample mix 
#1  A -,-,x 
#2  B y,z,a