2009-11-06 4 views
13

R에 매우 기본적인 패키지를 작성했습니다. 사실 기본 패키지 작성을 위해 this tutorial을 따라갔습니다.Windows 및 Linux에서 모두 R 패키지 작동

내 패키지는 Linux에서 잘 작동합니다. 예 :

 
> 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 

지금, 나는 나의 "linmod"폴더를했다 윈도우 XP에 복사, 다음과 같은 시도 :

 
> 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' 
> 

좋아요. 그래서 그 폴더를 가져 와서 .zip 파일에 넣었습니다. 그런 다음 패키지로 이동 -> 로컬 zip 파일에서 패키지 설치 ... 패키지를 선택했습니다.

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

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

나는 혼란 스럽습니다. 내 패키지에 원시 코드가 없습니다 (예 : C.로 작성된 확장자 없음).

무료로 .zip from here을 다운로드하십시오. 다운로드 링크는 맨 아래에 있습니다. "파일을 PC에 저장하십시오. ")

답변

12

우수한 CRAN Win-Builder 서비스를 사용하여 R 패키지 원본을 Windows 용 설치 가능한 zip 파일로 만들 것을 고려하십시오.

ftp로 간단히 업로드하면 곧 패키지에 대한 알림을 받게됩니다.

+0

R 패키지에 네이티브 코드가 없다면, 코드 자체가 크로스 플랫폼이기 때문에 두 윈도우/linux 모두에서 실행해야한다고 생각했습니다. 분명히 이것은 사실이 아닙니다. 그리고 두 가지 형식간에 변환 할 수있는 명령 줄 유틸리티가 있습니까? – poundifdef

+0

AFAICT "이 방법으로 작동했습니다."그리고 아직도 추천하는 오래된 우편 게시물을 찾습니다. 요즘에는 내부 형식이 변경되어 겉으로는 변환 할 수 없으므로 변환기 도구가 부족합니다. 따라서 자주 필요한 경우 Windows 도구 체인 (예 : Rob의 자습서 참조)을 설치하거나 Win-Builder를 사용하십시오. –

8

linux에서 디렉토리를 압축 해제 할 수는 없습니다. Windows 용으로 특별히 제작해야합니다. 나는 약간의 지시 here을 넣었다. 그러나 다른 플랫폼에서 먼저 개발하는 경우 Dirk의 솔루션이 더 간단합니다.

0

패키지가 비교적 간단 경우, 다음과 같은 기능은 R로 생성 된 패키지 "MY_PACKAGE_1.0.tar.gz"에 대한 Windows에서 나를 위해 작동 (OS : 우분투를 명령 R CMD build MY_PACKAGE과)

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

옵션 type="source"이 필요합니다. 그렇지 않으면 작동하지 않습니다.