2017-11-28 9 views
0

필자가 작성한 패키지에서 data.tables를 백본으로 사용하려고합니다.패키지에서 data.table 사용 - 확인 실패

내가 :: 모든 시간을 사용 (그리고 [:= 사업자와 합병증을 피하기)하지 않기 때문에, 나는 모든 DT를 사용할 수 있도록 설명에 가져 오기로 따라 달라 data.table하지 포함 기능을 직접적으로.

나는 패키지 다 잘하지만,이 (DTTest.Rcheck/00install.out에서) 오류의 결과를 "확인"을 실행 작동 빌드하는 경우 :

* installing *source* package ‘DTTest’ ... 
** R 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** testing if installed package can be loaded 
Error : package ‘data.table’ required by ‘DTTest’ could not be found 
Error: loading failed 
Execution halted 
ERROR: loading failed 

이 패키지에있는 유일한 기능이

입니다
#' Creates a data.table 
#' 
#' @return a data.table 
#' @export 
#' 
#' @examples 
#' create_dt() 
create_dt <- function() { 
    dt <- data.table(x = 1:10) 
    dt[, x_2 := x^2] 
    return(dt[]) 
} 

설명에 Depends: data.table이 포함되어 있습니다. 그렇지 않은 경우 파일은 표준 RStudio 새 패키지 파일입니다.

현재 전체 패키지 찾을 수 있습니다 https://github.com/DavZim/DTTest

모든 아이디어를 어떻게이 문제를 해결하기를?

+0

'data.table :: data.table (x = 1:10)' – akrun

+0

을 사용해 보셨습니까? imports에 data.table을 넣고 NAMESPACE에 패키지를 가져 오십시오. 그것이 내가하는 일이며 CRAN에서 사용할 수있는 패키지 하나에 적합합니다. – Roland

+0

@Ronald 어떤 패키지입니까? 나는 당신의 권고를 시도했으나 그것은 작동하지 않았다. (github에 대한 최신 커밋을 보자.) @akrun 문제는': = '연산자와 다른 data.table 연산과 함께 나온다. 다른 패키지를 사용하면 그렇게 할 수 있습니다. – David

답변

0

롤랜드의 도움을받은 의견을 듣고 나서 문제의 해결책을 발견했습니다. 실제로 내 .libPaths()과 관련이 있으며 코드가 아닙니다.

패키지를 검사 할 때 R은 .libPaths()의 첫 번째 라이브러리 안의 패키지를 검색하려고했습니다. 결과적으로 4 개의 경로 (/usr/local/..., /usr/lib/R/site-library, /usr/lib/R/library/home/user/R/x86_64-pc-linux-gnu-library/3.4)가 있고 마지막에 data.table이 설치되어 있습니다.

해결책 (이 단계에서 해결 방법과 비슷 함)은 첫 번째 것에 data.table을 설치하는 것이 었습니다.

이렇게하려면 관리자 권한 (내 경우에는 sudo R)으로 R을 실행하고 install.packages("data.table", lib = .libPaths()[1])과 함께 data.table을 설치하십시오.

이제 확인 합격!