2014-11-05 7 views
0

최근 데이터 조작을 위해 dplyr 패키지를 사용하기 시작했지만 group_by()의 출력을 완전히 파악하지 못했습니다. 아래의 예제에서, 하나의 iris.2 오브젝트는 어떻게 4 가지 클래스를 가질 수 있습니까? 함수는 사용할 클래스를 어떻게 알 수 있습니까? IE에서 print를 호출하면 print.data.frame이 아닌 print.tbl_df 메서드가 호출됩니다.R 객체의 다중 클래스 객체

library(dplyr) 
iris.1 <- iris 
iris.2 <- group_by(iris, Species) 
class(iris.1) 

[1] "data.frame을"

class(iris.2) 

[1] "grouped_df" "tbl_df」 「TBL을" "data.frame"

+1

http://adv-r.had.co.nz/OO-essentials.html#s3을 탈지 할 수도 있습니다. – hadley

답변

4

class 함수 완전한 상속 반환 개체의 귀하의 예에서 iris.2은 먼저 grouped_df 클래스의 개체입니다. grouped_df 클래스의 모든 메소드가 우선합니다. 다음으로 tbl_df 클래스이고, tbl 클래스이고, 마지막으로 data.frame 클래스입니다. print과 같은 메서드를 호출 할 때 R은 이러한 클래스의 print 메서드를 순서대로 찾은 다음 가장 먼저 해당 메서드를 사용합니다.