Variabel global dalam R


Jawaban:


174

Seperti jawaban Christian dengan assign()menunjukkan, ada cara untuk ditugaskan di lingkungan global. Cara sederhana, lebih pendek (tapi tidak lebih baik ... tetap dengan menetapkan) adalah dengan menggunakan <<-operator, yaitu

    a <<- "new" 

di dalam fungsi.


41
Pendekatan ini sebenarnya tidak menyelamatkan dalam lingkungan global, tetapi sebaliknya dalam lingkup induk. Kadang-kadang lingkup induk akan sama dengan lingkungan global, meskipun dalam beberapa kasus dengan banyak fungsi bersarang tidak.
LunaticSoul

5
Mengapa assignlebih disukai <<-?
Jasha

4
@Jasha <<-akan mencari rantai lampiran hingga ke lingkungan global dan menetapkan ke variabel pencocokan pertama yang ditemukannya. Hipotetis, jika Anda memiliki fungsi yang f()bersarang dalam penutupan g()dan aada di g(), maka menggunakan a <<-di f()akan menetapkan ke adalam g(), bukan ke lingkungan global. Seringkali, inilah yang Anda inginkan.
Bob

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.