Предположим, кто-то забывает установить validity
в определении класса s4, как можно "добавить" этот аргумент, не переписывая весь класс.
Иллюстрация:
setClass("test",slots = c(Taken="numeric",Data="data.frame"))
x<-new("test",Taken=123,Data=data.frame(GPA=0.02,Score=0.01))
СейчасПредположим, я хотел бы проверить правильность:
validity.test<-function(object){
if(!all(sapply(object@Data,is.numeric))){
print("Data must be all numeric")
} else print(TRUE)
}
Я мог бы просто позвонить validity.test(x)
.
Однако как мне установить test
без перезаписи test
?!Мы работаем в предположении, что кто-то новичок (например, я) в s4 и поэтому, вероятно, забудет это сделать.Если в сценарии так много строк, это может легко стать утомительным.Заранее спасибо!