Bir R paketinin önbelleğe alınmış verileri depolayabileceği önceden tanımlanmış bir yer var mı? Veriler oturumlar boyunca devam etmelidir. ${R_LIBS_USER}/package_name
'un bir alt dizinini oluşturmayı düşünüyordum, ancak bu paketin taşınabilir olup olmadığını ve paketimin sistem genelinde kurulu olması durumunda "izinli" olup olmadığından emin değilim.Bir paket tarafından veri önbellek olarak kullanılabilecek, her zaman yazılabilir kalıcı bir yer var mı?
fikir aşağıdaki gibidir: (data()
belgelerine göre) data(mydata)
arayarak yürütülecek olur paketin data
alt dizininde bir R komut mydata.R
oluşturun. Bu betik, daha önce önbelleğe alınmamışsa, verileri internetten yükler ve önbelleğe yükler. (Veriler önceden önbelleğe alınmışsa, önbellek kullanılır.) Ayrıca, önbelleği geçersiz kılmak ve/veya verilerin daha yeni bir sürümünün çevrimiçi olarak mevcut olup olmadığını kontrol etmek için bir işlev sağlanacaktır.
Halen veri dosyalarının dört biçimleri desteklenir::
Bu
data()
dokümantasyonlarından olan
dosyalar '.R' biten ya kaynağıdır '.r'() d, R çalışma dizini ile ilgili dosyayı içeren dizine geçici olarak değiştirildi. (Veri utils paketi halinde bu utils :: verileri aracılığıyla çalıştırmak olmuştu ekli olmasını sağlar.)
... Nitekim
, data
alt dizininde bir dosya fortytwo.R
oluşturarak aşağıdaki içeriğe sahip bir paketin:
fortytwo = data.frame(answer=42)
ve data(fortytwo)
yürütme bir veri çerçevesi değişken fortytwo
oluşturur. Şimdi soru şu ki: fortytwo.R
veriyi hesaplamak zor olsaydı ne olurdu?
EDIT: İki paket oluşturmayı düşünüyorum: Verileri sağlayan bir "veri" paketi ve üzerinde çalışan bir "kod" paketi. Soru "veri" paketi ile ilgilidir: Dosyaları, kullanıcı başına depolarda saklayabilir, böylece R oturumları boyunca kalıcı olur ve farklı R projelerinden erişilebilir olur mu?
İlgili: Package that downloads data from the internet during installation.
https://github.com/hadley/rappdirs adresine bir göz atmak isteyebilirsiniz - bu, OS'ye özel bir şekilde doğru dizinleri bulmaya çalışan bir python kitaplığı olan AppDirs'in bir bağlantı noktasıdır. – hadley
Sadece açıklığa kavuşturmaya çalışın: Bir R betiği tarafından işlendikten sonra verilerin nerede saklanabileceğini kastediyor musunuz? Başka bir deyişle, gerçekten veri paketindeki veriler veya gerçekleşen herhangi bir işlemden elde edilen verilerle ilgili sorunuz mu var? İkincisi gibi * sesler. – A5C1D2H2I1M1N2O1R2T1
@hadley: Bu, yakında herhangi bir zamanda CRAN'da görünme şansı var mı? Bunu yapmak için R'ye özgü bir yol yoksa ($ {R_USER_LIBS} alt dizinine koymak gibi), paketinizi memnuniyetle kullanırız. – krlmlr