是否可以在R中爲S4對象定義動態構造函數?通過動態我指的是以下幾點:如何在R中爲s4對象定義動態構造函數
firstClass <- setClass(Class = "firstClass",slots = c(Name = "character", ID = "numeric"))
現在我想定義一個構造函數,是聰明的,也就是說,它會檢查什麼樣的參數,其中由函數調用提供,並通過設置插槽創建CALSS「的Firstclass」的對象做默認或提供的參數。例如
firstClass <- function(Name, ID){
if(missing(Name) & missing(ID)){
return(new(Class = firstClass))
}
if(missing(Name) & !missing(ID)){
return(new(Class = firstClass,ID = ID))
}
if(!missing(Name) & missing(ID)){
return(new(Class,Name = Name))
}
if(!missing(Name) & !missing(ID)){
return(new(Class, Name = Name, ID = ID))
}
}
很明顯,一些理智檢查也應該做。這個構造函數正是我想要的,取決於它構造一個對象的調用。然而,對於一個簡單的課程(少數時間段)來說,這沒問題,但隨着更多時間段的複雜性增長。所以我想知道是否有一個優雅的方式來做到這一點。
您是否嘗試了運行缺省'firstClass()'以更改編號。的論點?它已經做到了你想要的。 –