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.
slot()
función: no está destinado a documentar qué es una ranura, solo cómo acceder a ella.