Olası Çoğalt:
Assignment operators in R: '=' and '<-'R içinde `=` ve `<-` arasındaki fark nedir?
Ben R 2.8.1 kullanıyorum ve değişken atama operatörleri olarak hem =
ve <-
kullanmak mümkündür. Aralarındaki fark nedir? Hangisini kullanmalıyım?
Olası Çoğalt:
Assignment operators in R: '=' and '<-'R içinde `=` ve `<-` arasındaki fark nedir?
Ben R 2.8.1 kullanıyorum ve değişken atama operatörleri olarak hem =
ve <-
kullanmak mümkündür. Aralarındaki fark nedir? Hangisini kullanmalıyım?
:
operatörleri < - ve = onlar değerlendirilme ortama atayın. Operatör < - operatör sıçanlara tek (komut satırına yazılan tam ifadede, örneğin), üst düzeyde izin verilen ya da, her yerde kullanılabilir ifadelerin çaprazlı listesindeki alt ifadelerin olarak. Robert ve Casella tarafından, "R ile Monte Carlo Yöntemleri Tanıtımı" dan okuma
:
"atama operatörü eşitlik için Boole operatörüdür ==
ile karıştırılmamalıdır, =
olan yaşlı bir. atama operatörü ve, uyumluluk nedenleriyle, hala işlevsel kalır <-
, ama daha temiz programlama sağlamak için göz ardı edilmelidir (Spector, P. (2009) işaret ettiği gibi 'R ile veri denetleme' -... Bölüm 8.7, = sonra
system.time
kullanırken bir istisnadır
atama operatörü < bir yanıltıcı özelliği - ifadeler, x [1] den -2 az olup olmadığını test etmek için gereken ancak kadar 2 tahsis sona erer
> if (x[1]<-2) ...
olarak Boolean bulunan x [1], mevcut değerini siliyor! Ayrıca, dikkat
> if (x[1]=-2) ...
yanlışlıkla kullanmak yerine (x [1] == - 2) aynı sonuca sahiptir "olarak
Ayrıca, "global atama" nın, böyle bir şey yapmanın gerekliliği ne olursa olsun, sadece ("gets" -based) '<< -' operatörünü kullanarak gerçekleştirilebileceğini düşünüyorum. "eşittir" temelli bir eşdeğeri değil. - elverişli yasak 'edilir http://google-styleguide.googlecode.com/svn/trunk/google-r-style.html#assignment –
Google'ın Ar stil kılavuzu tersini söylüyor Bu tür bir hatayı önlemek için. Özellikle, '=' operatörüne yalnızca en üst düzeyde izin verilir. –
' (2 x [1] =) eğer: – Aaron
' <-' her yerde kullanılabilir, bu bir olduğu anlamına gelir. ? = ' –
Hayır, hala işlevi çağrılırken global atama önlemek için' '= kullanmaya gerek gerekir' kullanmak gerekir bu örneklere bakın:. http://www.mayin.org/ajayshah/KB/R/html /b1.html Eğer isim <- "paypal", x <-2, ... 'yi kullandıysanız, x'i en üst seviyeye ayarlayacaktır. Bu örneği çalıştırmayı deneyin ama'