2011-07-29 26 views
17

Soy nuevo en R y me encontré con un código que no entiendo. Más específicamente, me gustaría saber qué hace .Internal. Aquí hay un ejemplo que estoy tratando de convertir a Matlab:R .Internal para principiantes

dunif <- function (x, min = 0, max = 1, log = FALSE) 
.Internal(dunif(x, min, max, log)) 
<environment: namespace:stats> 

me gustaría saber qué .Internal y <environment ... > lo hacen.

Gracias de antemano, Simon

+0

Vea también http://stackoverflow.com/questions/1439348/how-to-examine-the-code-of-a-function-in-r-thats-object-class-sensitive/1444512 –

+3

Para este específico Por ejemplo, puede ser útil saber que la respuesta es simplemente '1/(max-min)' –

Respuesta

20

De ?.Internal:

‘.Internal’ performs a call to an internal code which is built in 
to the R interpreter. 

Encontrará el código para dunif en las fuentes de investigación. Encuentro este tipo de función a través de grep para él en main/names.c y luego grep para el nombre al que se refiere (do_math3 en este caso), que encontrará en main/arithmetic.c.

<environment: namespace:stats> simplemente te dice la ubicación/espacio de nombre de la función.

4

Encontré R in a Nutshell un recurso útil para explicar objetos y entornos de una manera no intimidante. Vale la pena echarle un vistazo.