Sto scrivendo una classe S4 in cui i dati interni sono memorizzati in un database e la classe è principalmente un gatekeeper per accedere e modificare le informazioni nel database. La classe avrebbe metodi come getInfoA
e getInfoA<-
per estrarre e impostare determinate informazioni.Come implementare la sostituzione dei sottoinsiemi per i metodi S4
La mia domanda riguarda il caso seguente:
myObject <- new('myClass', db='path/to/database')
getInfoA(myObject)[1:5] <- letters[1:5]
Qui il setter è subsetted prima della cessione. Normalmente questo viene risolto automaticamente quando i dati sono archiviati in strutture R standard, ma come gestirli con garbo quando i dati vengono memorizzati altrove? C'è una primitiva [<-
all'interno di R ma non è chiaro a me come va il dispacciamento e dove e come intercettarlo ...
Questo è un peccato - si paralizza in modo efficace le astrazioni rispetto ai metodi di conservazione alternativi ... grazie per guardare in esso, però – ThomasP85