2016-04-13 16 views
0

Posta kodu örnek ve veri. Sorum şu örnekte. x değişkenim varsa ve table(x) hesapladığım takdirde, önceden hesaplanmış table(x)'a bir değişkene atamadan başvurmak mümkün mü?, R önbellek sonuçları atanmamış

x = c('a', 'a', 'b') 
table(x) 
+1

Bir değişkene atamadıysanız, neye başvurmak istersiniz? Bunu her zaman tablo (df $ c2) 'olarak ifade edebilirsiniz. Sorununuz <-' ile ise, atama için de '=' veya 'atama 'kullanabilirsiniz. Ama eğer bir değişkende sakladığınız sürece, onu tekrar kullanmak isterseniz kaybolur ve yeniden hesaplanması gerekir. – Gregor

+1

Ayrıca, neden sadece 'dput()' nizi dönüştürdükten sonra paylaşacaksınız. Tüm bu ekstra adımlar, csv okuma, isimleri değiştirme, sütunları dönüştürme, 'ggplot2' yükleme, sorunuzla ilgisi yok gibi görünüyor. – Gregor

+0

@Gregor, oy ver. :) "Yeniden derlenmiş" için, "tabloya (df $ c2)" tekrar başvurduğum zaman, yeniden hesaplanacak mı demek istiyorsunuz? Önbellek yok, değil mi? Teşekkürler. –

cevap

2

Hayır, R atanmamış sonuçları önbelleğe almaz. ,'un nasıl bir isim vermeden daha sonra bir şeye atıfta bulunacağı net değil.

Eğer table(x) iki çağrı arasında kod müdahale varsa, x, table tanımı değişmiş olabilir, değişmiş olabilir ya hangi yeniden hesaplama gerektirecektir arasında. Ayrıca, R table'un deterministik olup olmadığını bilmemektedir. Belki table rasgele sayı çekimlerine veya günün saatine veya diğer değişkenlere bağlıdır. Tüm bu olasılıklar, her şeyi mantıksız olarak önbelleğe alır. kullanıcısı kullanıcısı, bir hesaplamanın daha sonra yeniden kullanılabileceğini bilirse, kullanıcı ilk sonucu bir nesneye (atama) kolayca kaydedebilir ve daha sonra bu nesneyi referans alabilir.

+0

Yardımın için teşekkürler Gregor, cevabınızı cevap olarak işaretleyin. :) –

+1

@LinMa Ayrıca, düzenlemenizin artık düzenlemelerden sonra ne kadar net olduğunu göreceğinizi umuyorum. – Gregor

+0

Gregor, evet. :) –