우리는 S4 방법을 사용하여 R에서 객체 지향 프로그래밍을 프로그래밍하려고했습니다. 프로그래밍 과정에서 몇 가지 문제가 발생했습니다. 분명히 S4 방법의 사용은 아직 인터넷에서 잘 설명되어 있지 않으므로 여기에서 우리의 질문에 대한 답을 얻을 수 있기를 바랍니다.S4 방법 사용에 관한 질문이
첫 번째 질문 :
우리는 빈 S4 객체의 .. 벡터/배열/목록을 만들려고 노력했다. 인터넷을 검색하면이 포럼에서 다음과 같은 질문에 우리를 데리고 : 바와 같이 (유사) 위의 질문에 대한 답변 중 하나에 설명 된, 우리는 빈 S4 개체의 목록을 만들려면 다음 코드를 사용
Create a vector of empty S4 objects
:setClass("Name", representation(pos_x = "numeric", pos_y = "numeric", found =
"logical"), prototype(found = FALSE))
newList <- lapply(rep("Name", 2), new)
이것은 완벽하게 작동합니다. 그러나 S4 방법의 한 슬롯 (한 변수)을 호출하려고하면이 방법이 작동하지 않습니다. 예를 들어 "pos_x"슬롯을 호출하려면 다음 코드
newList[1]@pos_x
이 작동하지 않습니다. 우리가받는 오류 메시지는 "슬롯이없는 기본 클래스 ("목록 ")의 객체에서 슬롯 pos_x를 얻으려고하는 것입니다. 명확하게 정의되어 있지만 슬롯이 S4 메소드에 할당되지 않은 것처럼 보입니다. 목록에 우리가 S4-방법/목록의 개체 중 하나에서 슬롯을 호출하는 방법을
이사람이 알고 있나요
는는 두 번째 질문 :.?
이우리는하고 싶은는 하나 여부를 테스트합니다 위의 목록의 요소는 나중에 "NULL"과 같습니다.
이를 확인하려면 시도 :
newList[1] == NULL
그러나이 경우에만 "논리 (0)"가됩니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?
제안, 의견 및 질문은 대단히 환영합니다.
고맙습니다.