2011-04-25 3 views
1

다음 오류 메시지와 함께 roxygenize가 실패합니다. 이 주제에 대한 다른 게시물은 잘못 배치 된 문자가 있음을 나타냅니다. 나는 틀린 것을 발견 할 수 없다! 문제를 발견 할 수 있습니까? 나는() 결과보기 roxygenize 호출하기 전에 sessionInfo 추가 긴 @return 라인변수 이름은 256 바이트로 제한됩니다.

Edit2가
에서 몇 단어를 가지고가는 경우에

#' My Title. My Description 
#' 
#' @return A n x n \code{\link{matrix}} where n = the number of variables. Row and column names are in the same order and are equivalent to the variable names in \samp{timeSeriesData}. Each entry [i,j] in the matrix is the covariance between variable i and variable j. 
#' @callGraphPrimitives 
#' @note some notes here 
MyFunc = function(timeseriesData , method , decayFactor ) 
{ 
} 


Error in do.call(paste, c(trimmed.lines, sep = "\n")) : 
    variable names are limited to 256 bytes 
Calls: roxygenize ... parse.ref.list -> append -> parse.ref -> parse.ref.preref 
-> do.call 
Execution halted 

EDIT1
위의 코드는 잘 작동합니다.

R version 2.12.2 (2011-02-25) 
Platform: i386-pc-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 
[4] LC_NUMERIC=C 
[5] LC_TIME=English_United States.1252 

attached base packages: 
[1] stats  graphics utils  datasets grDevices methods base 

other attached packages: 
[1] roxygen_0.1-2 digest_0.4.2 
+1

을 가지고, R2.13.0로 업그레이드됩니다. 'sesionInfo()'의 결과는 무엇입니까? – Andrie

+0

나는 roxygenize 호출 전에 sessionInfo를 게시했습니다. 실행이 멈추기 때문에 roxygenize 호출 이후에 작동하도록 할 수 없습니다. @return 줄의 끝에서 몇 단어를 꺼내면 원래 코드가 제대로 작동합니다. – SFun28

+0

다음은 추측입니다 :'@ return' 매개 변수는 256 자로 제한됩니다. 원칙적으로'@ return'은'@return data.frame'과 같은 최소한의 것을 포함하고 있기 때문에 과거에 같은 문제를 겪었습니다. 대신, 나는 roxygen 설명을 사용하여 역학과 출력을 확장하는 경향이 있습니다. 참고로, 당신은'@param' 호출을 놓치고 있습니다. 패키지에서이 함수를 사용하고자한다면 @param과 함수 매개 변수가 일치하지 않으면 R CMD 검사가 실패하게됩니다. – Andrie

답변

6

이 알려진 버그 : this discussion 포함 해들리 위컴, roxygen하는 기여를 참조하십시오.

작업 회선은 짧은 줄을 갖는 것입니다. #' @return A n x n ... 줄은 약 270 자 (3 문장 포함)이므로 쉽게 나눌 수 있습니다.

+1

+1 좋은 링크. 고맙습니다. – Andrie

+0

+1 또한. 당신이 "쪼개지다"라고 말할 때, 나는 그 내용을 유지하고 여러 줄로 나누어 쓸 수 있다는 것을 의미합니까? – SFun28

+0

ignore ... 여러 줄로 나눠서 작동하면 작동합니다. – SFun28

2

다른 가능한 해결책은 지금 문자 길이이 내 컴퓨터에 오류없이 실행되는 최대 10.000의 값 대신에 256

관련 문제