¿Alguien sabe lo que es una ranura en el R?

Yo no encuentro la explicación de su significado. Puedo obtener una definición recursiva:
«Ranura función devuelve o establece la información sobre cada una de las ranuras de objetos»

Ayuda se agradece,
Gracias –
Callejón

  • Que es de la ayuda en el slot() función – que no está pensado para documentar lo que es una ranura, cómo acceder a ellos.
InformationsquelleAutor user573347 | 2011-01-17

4 Comentarios

  1. 76

    Ranuras están vinculados a S4 objetos. Una ranura puede ser visto como una parte, un elemento o una «propiedad» de un objeto. Digamos que tienes un coche de objeto, entonces usted puede tener las ranuras de «precio», «número de puertas», «tipo de motor», «kilometraje».

    Internamente, que está representada 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, la numberDoors, typeEngine y el kilometraje son las ranuras de la S4 de la clase «Coche». Este es un ejemplo trivial, en realidad ranuras pueden ser de nuevo los objetos complejos.

    Ranuras se puede acceder de varias maneras :

    > aCar@price
    [1] 20000
    > slot(aCar,"typeEngine")
    [1] "V6"    

    o a través de la construcción de un método específico (consulte la documentación adicional).

    Para obtener más información sobre S4 programación ver esta pregunta. Si el concepto todavía suena vago, una introducción general en la Programación Orientada a Objetos podría ayudar.

    PS: Cuenta la diferencia que existe con dataframes y listas, donde se utiliza $ para acceder a las variables con nombre/de los elementos.

    • +1 bonita respuesta Joris. Es posible que desee agregar un ejemplo de slot(aCar, "price") igual que otro uso, esp como el op estaba mirando el slot() función
    • Buena idea, Gavin, va a hacer.
    • Gracias, tu respuesta fue muy útil!!
    • Y para conseguir que todas las ranuras de una clase, hay getSlots(), o slotNames() por sus nombres.
  2. 16

    Sólo como names(variable) listas de todos los $accesibles de nombres de variable compleja, así también

    slotNames(object) listas de todas las ranuras de un objeto.

    Muy útil para descubrir qué golosinas su ajuste-objeto contiene para su placer de la visión.

  3. 10

    Además de los recursos que @Joris puntos que, además de su propia respuesta, trate de leer ?Classes, que incluye los siguientes slots:

     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.
          ....
  4. -1

    Ni idea de por qué R tiene que redefinir todo. La mayoría de las normales de los lenguajes de programación llamar «propiedades» o «atributos».

Dejar respuesta

Please enter your comment!
Please enter your name here