2010-04-02 2 views
13

저는 데이터 프레임의 요소를 기준으로 함수를 평가할 때 by()를 사용하지만 결과를 테이블 형식으로 사용해야합니다.클래스 "By"가 R의 데이터 프레임에

as.data.frame.table을 사용하여 "By"클래스 객체를 데이터 프레임에 가져 오는 것을 보았습니다.하지만이 메소드가 작동하는지 여부는() 함수는 "by"출력의 길이와 같습니다. 나는 다음과 같은 오류

"... 인수가 행 수 서로 다른 의미 : 10, 33"를 얻을 as.data.frame.table를 사용

는이 일을 다른 방법이 있습니까? 다른 출력 클래스를 얻기 위해 by() 대신에 tapply를 사용할 수 있습니까?

BTW, 나는 주파수 테이블에 내 데이터를 변환 한 후 어떤 도움을 주시면 감사하겠습니다 표준 빈

BT_by <- by(BT_H, BT_H$Tax_pp, function(BT_H) hist(rep.int(BT_H$Altitude, BT_H$Count), breaks = seq(0,6600,200), plot = FALSE)$counts) 

에 의해 재편성()로 사용하고 있습니다.

+1

나는'cut'과'xtabs'를 사용하는 것이 더 나을 것이라고 생각합니다. – hadley

답변

18

by의 출력은 본질적으로 단순한 목록입니다. 해당 벡터를 결합하려면 do.call(rbind, BT_by) (또는 실제로 원하는 모양에 따라 cbind)을 사용할 수 있습니다.

+1

고마워요 조나단, 그게 내가 원하는거야. – CCID

+4

'do.call'이 나에게 도움이되지 않았지만'rbind'의 직접적인 적용은'rbind (BT_by)'입니다. –