¿Alguien sabe qué es una ranura en R?
No encontré la explicación de su significado. Obtengo una definición recursiva: "La función de ranura devuelve o establece información sobre las ranuras individuales de un objeto"
Se agradecería su ayuda, gracias - Callejón
slot()
función: no está destinado a documentar qué es una ranura, solo cómo acceder a ella.Respuestas:
Las ranuras están vinculadas a objetos S4. Una ranura puede verse como una parte, un elemento o una "propiedad" de un objeto. Supongamos que tiene un objeto de automóvil, entonces puede tener las ranuras "precio", "número de puertas", "tipo de motor", "kilometraje".
Internamente, eso se representa como una lista. Un ejemplo :
setClass("Car",representation=representation( price = "numeric", numberDoors="numeric", typeEngine="character", mileage="numeric" )) aCar <- new("Car",price=20000,numberDoors=4,typeEngine="V6",mileage=143) > aCar An object of class "Car" Slot "price": [1] 20000 Slot "numberDoors": [1] 4 Slot "typeEngine": [1] "V6" Slot "mileage": [1] 143
Aquí, el precio, el número de puertas, el tipo de motor y el kilometraje son ranuras de la clase S4 "Coche". Este es un ejemplo trivial, en realidad las mismas tragamonedas pueden volver a ser objetos complejos.
Se puede acceder a las tragamonedas de varias formas:
> aCar@price [1] 20000 > slot(aCar,"typeEngine") [1] "V6"
o mediante la construcción de un método específico (ver documentación adicional).
Para obtener más información sobre la programación de S4, consulte esta pregunta . Si el concepto aún le suena vago, una introducción general a la programación orientada a objetos podría ayudar.
PD: tenga en cuenta la diferencia con los marcos de datos y las listas, donde usa
$
para acceder a variables / elementos con nombre.fuente
slot(aCar, "price")
otro uso, especialmente porque el operador estaba mirando laslot()
funcióngetSlots()
, oslotNames()
por sus nombres.Al igual que
names(variable)
enumera todos los$
nombres accesibles de una variable compleja, tambiénslotNames(object)
enumera todas las ranuras de un objeto.Muy útil para descubrir las ventajas que contiene su objeto de ajuste para su placer visual.
fuente
Además de los recursos que @Joris le señala, más su propia respuesta, intente leer
?Classes
, que incluye lo siguiente en las tragamonedas:Slots: The data contained in an object from an S4 class is defined by the _slots_ in the class definition. Each slot in an object is a component of the object; like components (that is, elements) of a list, these may be extracted and set, using the function ‘slot()’ or more often the operator ‘"@"’. However, they differ from list components in important ways. First, slots can only be referred to by name, not by position, and there is no partial matching of names as with list elements. ....
fuente
No tengo idea de por qué R tiene que redefinir todo. La mayoría de los lenguajes de programación normales los llaman "propiedades" o "atributos".
fuente