2013-05-10 10 views
7

ho trovato una linea del pacchetto genetica che va come questo:assegnazione circolare in R

P <- D <- Dprime <- nobs <- chisq <- p.value <- corr <- R.2 <- P 

nota P è sia all'inizio e alla fine. Cosa significa?

+1

Imposta tutti di quei valori per lo stesso valore di 'P'. Non c'è una ragione apparente per il 'P' alla fine. Quale file stai guardando? – GSee

+0

è nel file LD.R – qed

+0

Avrei dovuto dire, non c'è un motivo apparente per il 'P' all'inizio. – GSee

risposta

7

Questo costrutto assegnerà il valore di P alle variabili con ciascuno degli altri nomi indicati nella stringa di <- s. Tale incarico si svolgerà nell'ambiente attuale.

Così, se la variabile denominata P in fondo a destra è non nel contesto attuale, verrà creata una variabile nuova P nel contesto attuale.

Per vedere in azione, eseguire il seguente da una sessione di R fresca:

ls() 
# character(0) 
mean <- a <- b <- mean 
ls() 
# [1] "a" "b" "mean" 
+0

eccetto che in questo caso, 'P' è definito immediatamente prima che sia assegnato a se stesso. – GSee

+0

Sì, ho appena guardato quel blocco di codice, e in questo caso, incluso che 'P' a sinistra non fa esattamente nulla (anche se alla fine è innocuo). La mia ipotesi è che si tratti di una svista (improbabile) o che si tratti di una questione estetica. –

+0

L'esempio è probabilmente errato perché l'utente può essere certo che ci sarà un oggetto chiamato 'mean' (cioè la funzione) mentre 'P' non è invariabilmente presente in uno spazio di lavoro R. –