2013-08-15 20 views
19

Ho notato che usare T e F anziché TRUE e FALSE in funzioni in R mi dà gli stessi risultati. Naturalmente, T e F sono più concisi, tuttavia, vedo TRUE e FALSE essere utilizzati più spesso.C'è qualcosa di sbagliato nell'usare T & F invece di TRUE & FALSE?

Mi chiedevo se c'è qualche differenza tra i due? C'è qualcosa di sbagliato nell'uso di T e F?

risposta

29

T e F possono essere ridefiniti, ma TRUE e FALSE sono parole riservate e non possono essere ridefiniti.

> TRUE <- 1L 
Error in TRUE <- 1L : invalid (do_set) left-hand side to assignment 
> FALSE <- 0L 
Error in FALSE <- 0L : invalid (do_set) left-hand side to assignment 
> T <- F # yikes, this would be hard to debug! 

personalmente volte uso T e F quando uso R interattivo, ma mai loro uso nel codice di produzione o pacchetti.

+6

Si noti che in S + era il contrario - 'T' e' F' erano le parole riservate e 'TRUE' e' FALSE' le variabili con valori predefiniti. Vorrei che fosse così in R, ma c'est la vie. –

+2

@ AriB.Friedman Credo che sia stata in parte colpa della comunità genetica, che per qualche ragione ama usare "T" per qualcos'altro. –

+6

@CarlWitthoft Interessante. Sembra che abbiano approfittato di uno schema di pirimidina. –