2012-01-26 2 views
0

R 요소에서 by() 함수를 사용하여 요소의 모든 하위 집합에서 A FUN()을 실행하고 있습니다. FUN()은 두 개의 숫자를 반환 값으로 반환합니다. 내가 별도로이 개 반환 번호를 사용할 수 있도록 일반 data.frame으로 클래스 "에 의해"이 변환하고 싶습니다by() 함수를 사용하여 반환 된 "by"클래스 처리 방법 R

--------------------------------------------------------------------------------------- 
: 98012 
[1] 25.00 0.84 
--------------------------------------------------------------------------------------- 
: 98301 
[1] 5.0 0.6 
--------------------------------------------------------------------------------------- 

:에 의해() 함수는 같은 클래스 "에 의해"를 반환합니다. 그러나 "by"클래스는 data.frame으로 변환 할 수 없습니다. 어떤 아이디어?

답변

2

나는 단지 by을 사용하지 않는다고 말하고 싶습니다!

대신 구문

ddply(data.frame,splitting-variable,f()) 

키 함수가 data.frame을하고 data.frame을 반환 할 필요가 있다는 것입니다으로 plyr 패키지에서 ddply를 사용합니다.

+0

저스틴, 나는 ddply()를 확인했습니다. 예. 이 도구를 사용하면 깔끔한 솔루션을 제공 할 수 있습니다. 감사. – Leo5188

3

당신은 할 수 있습니다 : 당신이 대신 data.framematrix 될 것입니다 간단한 cbind 결과를 사용하여, 그렇지 않으면 cbind.data.frame를 지정해야합니다

df <- do.call(cbind.data.frame, yourByResult) 

공지 사항.

+0

digEmAll, 의견을 보내 주셔서 감사합니다. 나는 또 다른 질문 [link] (http://stackoverflow.com/questions/1407449/for-each-group-summarise-means-for-all-variables-in-dataframe-ddply-split)을 발견했다. do.call() 사용 방법 – Leo5188