2017-03-20 1 views
0

d_ply 함수 패밀리에서 data.frame을 분할하는 데 사용 된 변수는 구분자 "."를 사용하여 병합됩니다. dlply의 경우 결과 목록의 이름을 생성합니다. 다음 이름 "." plyr 생성자가 사용하는 구분자

> names(plyr::dlply(res, .(id1, id2), function(x){x$val})) 
[1] "a.x.a" "a.x.b" "a.x.c" 

인스턴스에 plyr에서 사용하는 세퍼레이터를 변경하는 방법 있는가

를 생성 dlply 실행할 때

> res 
    id1 id2 val 
1 a.x a 1 
2 a.x b 2 
3 a.x c 3 

이어서 data.frame 제공

library(plyr) 
res <- data.frame(id1= rep("a.x",3),id2=c("a","b","c"), 
     val = c(1,2,3),stringsAsFactors = FALSE) 

"|" ?

+0

그냥 이름 자신을 변경할 수 있을까요? 'colnames (x) <- gsub ('.', '|', colnames (x), fixed = TRUE)'... – dash2

답변

0

나는 다음과 같은 솔루션에 도착 않았다

> names(xx) <- apply(attributes(xx)$split_labels,1 ,paste , collapse="|") 
> names(xx) 
[1] "a.x|a" "a.x|b" "a.x|c"