2016-09-22 4 views
0

R 패키지를 만들고 있는데, 패키지에 의존하고 싶습니다. 패키지는 최근 CRAN의 archived입니다.패키지에 보관 된 CRAN 패키지를 포함합니다.

보관 처리되지 않은 패키지의 경우 일반적으로 DESCRIPTION 파일의 Imports 목록에 패키지 이름이 추가됩니다. CRAN에 의해 ​​보관 된 패키지를 어떻게 가져올 수 있습니까?

참고 : Gábor에게 연락 한 후에 위변조가 기록 된 이유는 잠재적으로 위험한 inconsistencies과 기본 허위 개념과 falsy 허위 개념 사이의 관계로 인한 것입니다. 그는 패키지를 보관 취소 할 계획이 없습니다.

+0

[This] (http://stackoverflow.com/a/32533483/324364) 당신이 찾고있는 답변 일 수도 있습니다 ...? – joran

+0

그건 분명히 솔루션이지만, 이상적인 솔루션은 최종 사용자 입장에서 어떤 조치도 필요하지 않습니다. – user12341234

+0

그 질문에 대한 의견은 github에서 ** drat ** repo를 직접 작성하는 옵션에 대해서도 설명합니다. github에서는 더 잘 작동 할 수 있지만 사용자에게는 적을 수 있습니다. – joran

답변

0

이 :

FALSY <- FALSE 

TRUTHY <- TRUE 

is_falsy <- function(object) { 
    is.null(object) || 
    identical(object, FALSE) || 
    identical(object, 0L) || 
    identical(object, 0.0) || 
    identical(object, 0+0i) || 
    identical(object, "") || 
    identical(object, as.raw(0)) || 
    identical(object, logical()) || 
    identical(object, integer()) || 
    identical(object, double()) || 
    identical(object, complex()) || 
    identical(object, character()) || 
    identical(object, raw()) || 
    identical(object, list()) || 
    inherits(object, "try-error") 
} 

is_truthy <- function(object) { 
    ! is_falsy(object) 
} 

`%&&%` <- function(lhs, rhs) { 
    lres <- withVisible(eval(lhs, envir = parent.frame())) 
    if (is_truthy(lres$value)) { 
    eval(rhs, envir = parent.frame()) 
    } else { 
    if (lres$visible) { lres$value } else { invisible(lres$value) } 
    } 
} 

nay <- function(rhs) { 
    if (is_falsy(rhs)) { TRUTHY } else { FALSY } 
} 

try_quietly <- function(expr) { 
    try(expr, silent = TRUE) 
} 

패키지의 전체 범위 (마이너스 roxygen 댓글)이다. 왜 패키지에 포함시키지 않습니까?

Gabor에게 CRAN에 다시 공개 할 것인지 또는 유지 관리를 맡을 수 있는지 물어보십시오.

+0

Gabor에 연락하여 답장을 기다리고 있습니다. 코드 복제가 본질적으로 좋지 않기 때문에 소스를 직접 복사하는 것을 주저합니다. – user12341234

+0

** 보관 된 패키지에 의존하는 것보다 ** 크게 ** 더 좋습니다. – hrbrmstr

+0

흥미 롭습니다. 그 이유는 무엇입니까? – user12341234