2009-11-06 18 views
13

R'de çok basit bir paket yazdım. Aslında temel bir paket oluşturmak için this tutorial'u takip ettim.R paketi hem Windows hem de Linux'ta çalışıyor

Paketim sadece Linux'ta çalışıyor. örneğin:

 
> install.packages("linmod", repos=NULL) 
Warning in install.packages("linmod", repos = NULL) : 
    argument 'lib' is missing: using '/home/jpgoel/R/i486-pc-linux-gnu-library/2.9' 
* Installing *source* package ‘linmod’ ... 
** R 
** data 
** preparing package for lazy loading 
** help 
*** installing help indices 
>>> Building/Updating help pages for package 'linmod' 
    Formats: text html latex example 
** building package indices ... 
* DONE (linmod) 
> library(linmod) 
> data(mod1) 
> mod1 
Call: 
linmod.default(x = x, y = y) 

Coefficients: 
    Const  Bwt 
-0.3566624 4.0340627 

Şimdi, benim "linmod" klasörünü aldı Windows XP için kopyaladı ve aşağıdaki çalıştı:

 
> install.packages("C:\\Documents\ and\ Settings\\foo\\Desktop\\linmod",repos=NULL) 
Error in gzfile(file, "r") : cannot open the connection 
In addition: Warning messages: 
1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file 
2: In gzfile(file, "r") : 
    cannot open compressed file 'linmod/DESCRIPTION', probable reason 'No such file or directory' 
> 

tamam. Sonra bu klasörü aldım ve bir .zip dosyasına yerleştirdim. Daha sonra Paketler -> Paketleri yerel zip dosyalarından yükle ... ve paketimi seçtim.

 
> utils:::menuInstallLocal() 
updating HTML package descriptions 

> library(linmod) 
Error in library(linmod) : 'linmod' is not a valid installed package 

Stumped. Paketimin hiçbir yerel kodu yok (örneğin, C. ile yazılmış hiçbir uzantı yok)

.zip dosyasını indirmek için çekinmeyin. from here (indirme işlemi en altta yer alır, "Dosyayı PC'nize kaydedin ")

cevap

12

R paket kaynaklarını Windows için yüklenebilir bir zip dosyasına dönüştürmek için mükemmel CRAN Win-Builder hizmetini kullanmayı düşünün.

Sadece ftp ile yüklersiniz ve kısa bir süre sonra paketinizle ilgili bir bildirim alırsınız.

+0

Tamam, R paketinizin yerel kodu yoksa, kodun çapraz platform olduğu için her iki pencerede/linux üzerinde çalışılması gerektiğini varsaymıştım. Anlaşılan bu durum böyle değil mi? Ve, iki format arasında dönüşecek bazı komut satırı yardımcı programı var mı? – poundifdef

+0

AFAICT "bu şekilde çalışıyordu" ve hala tavsiye eden eski posta gönderileri buluyorsunuz. Bu günlerde dahili format değişti ve görünüşte dönüştüremiyorsunuz, dolayısıyla bir dönüştürücü aracının olmaması. Bu yüzden, sık sık ihtiyacınız varsa, Windows araç zincirini yükleyin (ör. Rob'un öğreticisine bakın) veya başka bir şekilde Win-Builder ile devam edin. –

8

Dizini yalnızca linux'ten kaldıramazsınız. Windows için özel olarak oluşturmanız gerekir. Bazı yönergeler here koydu. Ancak, önce başka bir platformda gelişiyorsanız Dirk'in çözümü daha basittir.

0

paket oldukça basittir, aşağıdaki fonksiyonu R ile üretilen bir paket "MY_PACKAGE_1.0.tar.gz" için Windows üzerinde benim için çalışıyor (OS: Ubuntu komutuyla R CMD build MY_PACKAGE ile)

install.packages("MY_PACKAGE_1.0.tar.gz", repos=NULL, type="source") 

type="source" seçeneği gereklidir, aksi halde çalışmaz.

İlgili konular