Ich arbeite auf Lagerstättensimulationsobjekte in R und in einer bestimmten Weise versuche ich eine Struktur in Matlab zu replizieren, die in 3D funktioniert. Das Objekt hat mehrere Attribute.Eine Matlab-Struktur-ähnliche in R
Grid.Nx, Grid.Ny, Grid.Nz,
Grid.hz, Grid.hy, Grid.hy,
Grid.por
Dies ist Matlab/Octave funktioniert super. Wenn ich zum Beispiel Grid
eintippe, werden automatisch alle Attribute und Werte angezeigt, die Grid
enthält. Das Objekt in R, das sich näher verhält, ist list(). Aber es ist nicht ganz dasselbe.
kam ich mit tun dies mit S4-Klassen nach oben, wie folgt aus:
setClass("Grid", slots = c(
Nx = "numeric",
Ny = "numeric",
Nz = "numeric",
por = "numeric"
))
setGeneric("Grid.Nx<-", function(object, value){standardGeneric("Grid.Nx<-")})
setReplaceMethod(f="Grid.Nx", signature="Grid",
definition=function(object, value){
[email protected] <- value
return (object)
})
setGeneric("Grid.Ny<-", function(object, value){standardGeneric("Grid.Ny<-")})
setReplaceMethod(f="Grid.Ny", signature="Grid",
definition=function(object, value){
[email protected] <- value
return (object)
})
setGeneric("Grid.Nz<-", function(object, value){standardGeneric("Grid.Nz<-")})
setReplaceMethod(f="Grid.Nz", signature="Grid",
definition=function(object, value){
[email protected] <- value
return (object)
})
Grid.Nx <- 3
Grid.Ny <- 8
Grid.Nz <- 4
Grid.Nx
Grid.Ny
Grid.Nz
Es gibt nur wenige andere Objekte im Simulationsprojekt sind, die wie folgt arbeiten. Bevor ich mit dieser Idee der S4 Klassen fortfuhr, wollte ich wissen, ob ich mich in die richtige Richtung bewege, oder es gibt bessere Alternativen.