Les fentes sont liés à S4 objets. Un logement peut être considéré comme une partie ou un élément de la "propriété" d'un objet. Disons que vous avez un objet voiture, alors vous pouvez avoir le logements "prix", "nombre de portes", "type de moteur", "kilométrage".
En interne, c'est représentée une liste. Un exemple :
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
Ici, les prix, la numberDoors, typeEngine et le kilométrage sont des machines à sous de la S4 de la classe "Voiture". C'est un exemple trivial, en réalité, des fentes peuvent eux-mêmes être de nouveau les objets complexes.
Les fentes peuvent être accessibles dans de nombreuses façons :
> aCar@price
[1] 20000
> slot(aCar,"typeEngine")
[1] "V6"
ou par le biais de la construction d'une méthode spécifique (voir la documentation supplémentaire).
Pour en savoir plus sur S4 programmation de voir cette question. Si le concept semble encore vague pour vous, une introduction générale à la Programmation Orientée Objet susceptible de l'aider.
PS: l'Esprit la différence avec dataframes et des listes, où vous utilisez $
pour accéder à des variables nommées/éléments.