La lettura da "Introduzione Metodo Monte Carlo con R", di Robert e Casella:
"L'operatore di assegnazione è =
, da non confondere con ==
, che è l'operatore booleano per l'uguaglianza Un vecchio. l'operatore di assegnazione è <-
e, per ragioni di compatibilità, rimane ancora funzionale, ma dovrebbe essere ignorato per garantire una programmazione più pulita (Come sottolineato da Spector, P. (2009). "Manipolazione dei dati con R" - Sezione 8.7., si ha un'eccezione quando si utilizza system.time
, poiché = viene quindi utilizzato per identificare le parole chiave)
Una caratteristica fuorviante dell'operatore di assegnazione < - si trova in booleana espressioni come
> if (x[1]<-2) ...
che si suppone per testare se x [1] è inferiore a -2, ma finisce fino assegnazione 2 a x [1], cancellando il suo valore attuale! Si noti inoltre che l'utilizzo di
> if (x[1]=-2) ...
erroneamente al posto di (x [1] == - 2) ha la stessa conseguenza "
fonte
2010-02-16 09:53:35
Come' <-' può essere utilizzato ovunque, questo significa che non c'è. è necessario utilizzare '='? –
No, è necessario utilizzare ancora '=' quando si chiamano le funzioni per evitare l'assegnazione a livello globale. Guarda questi esempi: http://www.mayin.org/ajayshah/KB/R/html /b1.html Se hai usato 'name <-" paypal ", x <-2, ...' avrebbe impostato 'x' al livello più alto Prova a eseguire quell'esempio ma scrivendo' <-' invece di '= 'e vediamo cosa succede –