39 votos

¿Cuál es el significado de la "." (dot) en R?

Estoy leyendo el libro "R en una cáscara de Nuez". Y es que parece como si me he saltado la parte en la que el "." como en "de la muestra.la fórmula" se explicó.

> sample.formula <- as.formula(y~x1+x2)

Es el ejemplo de un objeto con una fórmula de campo como en otros idiomas? Y si es así, ¿cómo puedo saber, qué otros campos/funciones de este objeto tiene? (Tipo de declaración)

EDITAR: Acabo de encontrar otro confuso uso de el ".":

> svm(formula = is_spam~., data = spambase.training)

(el punto entre ~., )

30voto

Marc-Andre R. Puntos 789

El punto puede ser utilizado como en nombre normal. Tiene sin embargo adicionales especiales de interpretación. Supongamos que tenemos un objeto a una clase específica:

 a <- list(b=1)
 class(a) <- "myclass"

Ahora declarar myfunction como estándar genérico de la siguiente manera:

 myfunction <- function(x,...) UseMethod("myfunction")

Ahora declarar la función

 myfunction.myclass <- function(x,...) x$b+1

A continuación, el punto tiene un significado especial. Para todos los objetos de la clase myclass de llamadas

 myfunction(a)

le permite llamar a la función myfunction.myclass:

 > myfunction(a)
  [1] 2

Esto se utiliza ampliamente en R, el más apropriado ejemplo es la función summary. Cada clase tiene su propia summary función, de modo que cuando usted ajuste de un modelo, por ejemplo (que normalmente devuelve el objeto con la clase específica), necesario para invocar summary y se va a llamar apropiado de la función de resumen para que el modelo específico.

12voto

Mohit Jain Puntos 412

Mira la página de ayuda para ?formula con respecto a . Aquí los correspondientes bits:

Hay dos interpretaciones . en una fórmula. La habitual es en el contexto de un argumento de datos de ajuste del modelo de funciones y significa "todas las columnas que no lo contrario en la fórmula": ver términos.la leche de fórmula. En el contexto de la actualización.la fórmula, sólo, significa " lo que antes era en esta parte de la fórmula'.

Alternativamente, el reshape y reshape2 paquetes de uso . y ... un poco diferente (de ?cast):

Hay un par de variables especiales: "..." que representa a todos los demás las variables no se utiliza en la fórmula e "." no representa ningún variable

5voto

pkaeding Puntos 12935

Hay algunas excepciones (S3 método de envío), pero en general se utiliza simplemente como la legibilidad de la ayuda, y como tal no tiene ningún significado especial.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X