2013-04-09 28 views
10

R paketini oluşturmak için devtools kullanıyorum ve son kullanıcılar tarafından görülebilecek şekilde tasarlanmamış bazı işlevler var. Ancak, bu işlevler, C kodlarının .Call tarafından çağrılmasını içerdiğinden, otomatik olarak .Rd dosyaları için fonksiyonun üstünde @useDynLib yazmam gerekiyor. Bu şekilde, paketi oluşturduğumda, bu işlevler için @export'U dahil etmedim bile, bunlar yine de yardım belgesinde görünmüyorlar ... bu işlevleri belgelenmiş olsalar bile bastırmak için bir yol var mı? Teşekkürler!R paketi tarafından R paketindeki işlev yardım belgesini gösterme1

+1

dahil birisiniindirirsiniz bir örnek görmek için durumda yararlı olur. – hadley

+0

@hadley: teşekkürler, bunu düzeltdim ... ama yine de @ export'u olmayan işlevler, son kullanıcılara görünmesini istemediğim yardım belgesinde. .Rd dosyaları üreten "bastırmak" için herhangi bir yöntem? – alittleboy

+1

Rotatör yorumları kullanmıyor musunuz? – hadley

cevap

19

Hadley'nin yorumlarına göre, @keywords internal işlevini kullan, işlevi son kullanıcılar tarafından görünmez hale getirecektir. Detaylar devtools'un wiki sayfalarında here bulunabilir.

8

Kabul edilen yanıtta bağlantılı olan wiki artık @keywords internal (Nisan 2016 itibariyle) üzerinde tartışıyor.

# multiplyBy3 
#' This is an example of an internal function called \code{multiplyBy3()} 
#' 
#' Sometimes you want internal functions as part of an R Package built with 
#' RStudio and roxygen2, but you don't want .Rd files created for them 
#' or to have them be visible in the help document following the build process 
#' 
#' @keywords internal 
#' 
#' @param base_num The number to multiply by three 
#' 
#' @import jsonlite 
#' 
#' @return Returns a numeric vector 
#' 
multiplyBy3 <- function(base_number) { 
    stopifnot(is.numeric(base_number)) 
    return(base_number * 3) 
} 

Anahtar bitleri: @export içermez ve sadece paketin başına bir `useDynLib` beyana ihtiyacımız @keywords internal

+0

Bu, yarım saattir aradığı şey. Teşekkürler @ arvi1000 – Veera