R 패키지의 경우 for 루프에서 많은 함수를 프로그래밍 방식으로 정의하고 싶습니다. 예를 들어 NA 값을 항상 무시하는 기본 함수의 새 버전을 만드는 것과 같은 작업을 수행하려고 할 수 있습니다. 마찬가지로 :roxygen @export functionsin 루프
for(f in c('mean', 'sd', 'median', 'quantile', 'max', 'min', 'range')) {
cur = function() {}
formals(cur) = formals(args(get(f)))
body(cur) = parse(text = paste0(f,
'(',
names(formals(cur))[1],
', na.rm = TRUE)'))
assign(paste0(f, 'x'), cur)
}
이 코드 생성의 새로운 7 개 가지 기능 (meanx, SDX, medianx, quantilex 등) 단순히 (등 SD, 중앙값, 분위수, 평균) 자신의 시조 기능 통화와 na.rm = 참된.
내 문제는 이것입니다 : 어떻게 roxygen을 사용하여이 7 가지 기능을 문서화 할 수 있습니까? 적어도, 나는 그들을 내보 내기를 원하지만, 만약 내가 #' @export
라인을 루프에 넣으면, roxygen은 그것으로 아무것도하지 않는다. 분명히, NAMESPACE 파일에 직접 이름을 쓸 수는 있지만, 만약 내가 roxygen을 다시 사용하면 변경 사항을 덮어 씁니다.
아이디어가 있으십니까?
(이 함수는 실제로 정의하는 함수가 아니므로 na.rm이나 다른 것을 자동으로 사용하는 방법에 대한 조언은 찾고 있지 않습니다. 루프 옥션 내보내기 함수를 NAMESPACE 파일에 루프로 정의하는 방법에 대한 아이디어에 관심이 있습니다.
아직 답변이 없지만 설명서 패키지가이를 완화하는 데 도움이됩니다. R Documentation Task Force의 작업이며 동적으로 생성 된 함수를 쉽게 내보낼 수 있습니다. R Users Conference에서 2017 년 7 월까지 준비가 완료되어야합니다. –
감사합니다. @Andrew, 패키지를 확인하기를 기대합니다! – user3474009