S3 개체를 포함하여 R 개체로 작업 할 S3 메서드를 작성하고 있습니다.S3 개체를 S4 개체와 함께 사용하려면 어떻게합니까?
이해가 안 우선은 S4 클래스 I 그냥 f.S4
발송 방법을 선언 할 수 있으며 모든 S4 객체를 데리러 그래서 f <- function(x) UseMethod("f")
지정해, S4 기본 클래스에서 파생 나타나지 않는 것입니다. (비록 당신이 unclass
S4 객체라면, 클래스 S4
이 주어진 것처럼 보입니다.) 디스패치를 어떻게 관리해야합니까?
이러한 S4 개체를 처리하는 가장 쉬운 방법은 목록으로 변환하는 것입니다. 불행히도 as.list
은 오류 ("이 S4 클래스를 벡터로 강제 변환 할 수 없습니다")를 throw합니다. 유망 보았다 methods
패키지
library(gWidgetstcltk)
win <- gwindow()
기능 S3Part
및 S3Class
,하지만 그들은 모두 던져 오류가 나는 win
에 그들을 사용
. 따라서 질문 2는 S4 객체를 목록으로 변환하는 일반적인 방법이 있습니까?
감사합니다. 파견은 훨씬 더 의미가 있습니다. 내가 까다로운 시험 경우에 비틀 거린 것처럼 보입니다. 몇 가지 다른 시도하고 더 조사해야합니다. –
gwindow 객체는 실제로 나쁜 예입니다. gWidgets 객체에 대해 정의한 길이 메서드가 str을 엉망으로 만든다 고 생각합니다. gwindow 객체에는 툴킷 (gWidgetsXXX 패키지가 메소드 디스패치에 사용됨)을 유지하는 두 개의 슬롯과 gWidgetsXXX 패키지의 객체에 대한 슬롯이 있습니다. 그러나 Joris는 무엇을해야하는지 보여줍니다. gWindow에는 다른 클래스를 잡는 데 사용할 수있는 수퍼 클래스가 있습니다. – jverzani
@ 존 : 설명해 주셔서 고맙습니다. 보다 쉬운 사례를 먼저 해결하는 데 집중하겠습니다. –