Конструкторы и прототипы S4

Просмотр вики-страницы Hadley Wickham по S4: https://github.com/hadley/devtools/wiki / S4

setClass("Person", representation(name = "character", age = "numeric"), 
  prototype(name = NA_character_, age = NA_real_))
hadley <- new("Person", name = "Hadley")

Как мы можем разработать конструктор для Person (например, этот)

Person<-function(name=NA,age=NA){
 new("Person",name=name,age=age)
}

, который этого не делает:

> Person()
Error in validObject(.Object) : 
  invalid class "Person" object: 1: invalid object for slot "name" in class "Person": got class "logical", should be or extend class "character"
invalid class "Person" object: 2: invalid object for slot "age" in class "Person": got class "logical", should be or extend class "numeric"

6
задан Reinstate Monica - G. Simpson 21 October 2011 в 19:48
поделиться