2013-11-15 4 views
2

data.table을 함수의 매개 변수로 사용하는 데 문제가 있습니다.패키지의 매개 변수로 R 데이터 테이블 사용

스크립트에서 함수를 정의하면 작동합니다. fn_good를 참조하십시오.

내가 함수를 (동일하게) 패키지의 일부로 정의하면 완전히 작동하지 않게됩니다. 열 이름이 인식되지 않는 것 같습니다. 'tables()'또는 x [1 : 5,1 : 2]와 같은 함수 내의 명령은 정상적으로 작동합니다. fn_good에있는 것처럼 열 이름을 사용할 수없는 것입니다.

내 패키지의 다른 기능이 정상적으로 작동합니다.

어떤 아이디어?

많은 감사

R.version 3.0.0

cd<-data.table(PY=1992:2001,DV=1:10,IN=2000) 

fn_good<-function(x) {x[1:5, list(PY, DV)]} 

fn_good(x=cd) 
    PY DV 
1: 1992 1 
2: 1993 2 
3: 1994 3 
4: 1995 4 
5: 1996 5 


fn_in_Package_Bad 
function (x) 
{ 
    x[1:5, list(PY, DV)] #identical to above 
} 
<environment: namespace:RBasicChainLadder> 

fn_in_Package_Bad(x=cd) 
Error in `[.data.frame`(x, i, j) : object 'PY' not found 
+2

'Description' 파일을 보여줄 수 있습니까? 패키지는'data.table'을 인식하고 있어야합니다. 그렇지 않으면'[.data.table'은'[.data.frame'으로 리디렉션됩니다. – Arun

+0

또한 R 버전 만 언급하는 대신'sessionInfo()'의 출력을 게시하는 것이 더 좋습니다. 그냥 제안. – Arun

+0

@Arun 덕분에 패키지에 대한 올바른 방향으로 지적했다. data.table을 인식하지 못했다. –

답변

1

내가 패키지 설명 파일에

depends: data.table 

을 추가 한 패키지가 data.table 인식하게하려면

관련 문제