2014-06-10 24 views
5

R.'den bir tar.gz dosyası oluştururdum. Ancak, katran işlevi beni çalışmaz. Bu benim örnek kodum.R tar.gz dosyası nasıl oluşturulur?

writeLines('aaaa', 'tmp.txt') 
tar('tmp.tar.gz', 'tmp.txt', compression = 'gzip') 

Bu kod bir tmp.tar.gz oluşturur, ancak tmp.txt, gz dosyasına dahil değildir.

benim kodunda herhangi bir hata var mı? herhangi bir öneriniz için

teşekkürler.

#Windows platform 
sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 

locale: 
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252 
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C      
[5] LC_TIME=English_Australia.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

loaded via a namespace (and not attached): 
[1] tools_3.1.0 

#Linux platform 
sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 

locale: 
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C   LC_TIME=C   LC_COLLATE=C   
[5] LC_MONETARY=C  LC_MESSAGES=C  LC_PAPER=C   LC_NAME=C   
[9] LC_ADDRESS=C   LC_TELEPHONE=C  LC_MEASUREMENT=C  LC_IDENTIFICATION=C 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] weaana_0.1.0.3874 abind_1.4-0  reshape2_1.4  ncdf4cf_0.1.0.3698 ncdf4_1.10   
[6] stringr_0.6.2  My_0.1.0.4086  

loaded via a namespace (and not attached): 
[1] Rcpp_0.11.1 plyr_1.8.1 tools_3.1.0 

cevap

9

Sana "tar" çevre değişkeni oluşturduktan yok sanırım:

Ben windows ve linux bu kodu çalıştırın. tar adı verilen tar() varsayılan argümanı, Sys.getenv("tar") numaralı aramaya ayarlanır. Boş bir dize ise, R'nin dahili tar kullanılır (sistemimde de çalışmıyor).

Yani, ya Sys.setenv"tar" değişken olabilir, ya da manuel olarak harici tar komut/yolun adı sağlamak: Cevabınız için

tar('tmp.tar.gz', 'tmp.txt', compression = 'gzip', tar="tar") 
+1

teşekkürler. Linux altında Sys.getenv ("tar") çağrılırken boş string ("") var. – Bangyou

+1

Önerileriniz için teşekkür ederiz. Şuan çalışıyor. – Bangyou

+0

Merhaba, ben olmayan boş bir dize döndürür ama Sys.setenv i Sys.getenv ile kontrol çünkü (katran = "pathToTarCmd"), o iş gibi görünüyor ("katran") ile benim katran değişkeni ayarlamak çalıştı i tar komutu çağırdığınızda Yaptığın gibi, işe yaramıyor, nasıl yapabilirim? – HanniBaL90

İlgili konular