2012-07-01 31 views
15

में मैं एक पैकेज लिख रहा हूं लेकिन एक लगातार R CMD check चेतावनी मुझे पैकेज को खत्म करने और इसे CRAN पर पोस्ट करने से रोकती है। मैं इनलाइन दस्तावेज के लिए roxygen2 का उपयोग करता हूं, हालांकि यह संभवतः त्रुटि का मूल कारण नहीं है।आर सीएमडी जांच चेतावनी: प्रलेखन ऑब्जेक्ट में उपयोग के साथ कार्य/विधियां ... लेकिन कोड

यदि आपको पता है कि इस चेतावनी को हटाने के लिए क्या करना है, तो मैं roxygen2 का उपयोग करके इसे करने का एक तरीका समझ सकता हूं।

मैं अपने पैकेज चेक से चेतावनीFunctions/methods with usage in documentation object ... but not in codeको कैसे हटा सकता हूं?


R CMD check चेतावनी:

* checking for code/documentation mismatches ... WARNING 
Functions/methods with usage in documentation object 'names<-' but not in code: 
    names<- 

समारोह और roxygen प्रलेखन:

#' Updates names and variable.labels attribute of surveydata. 
#' 
#' @name names<- 
#' @rdname names 
#' @aliases names<- names<-.surveydata 
#' @param x surveydata object 
#' @param value New names 
#' @method names<- surveydata 
#' @usage names(x) <- value 
"names<-.surveydata" <- function(x, value){ 
    invisible(NULL) 
} 

जिसके परिणामस्वरूप .rd प्रलेखन फ़ाइल:

\name{names<-} 
\alias{names<-} 
\alias{names<-.surveydata} 
\title{Updates names and variable.labels attribute of surveydata.} 
\usage{ 
    names(x) <- value 
} 
\arguments{ 
    \item{x}{surveydata object} 

    \item{value}{New names} 
} 
\description{ 
    Updates names and variable.labels attribute of 
    surveydata. 
} 

मैं आधार आर में names<- के लिए प्रलेखन के साथ मेरी प्रलेखन पार जाँच की है, और यह समान लगता है:

\title{ The Names of an Object} 
\name{names} 
\alias{names} 
\alias{names.default} 
\alias{names<-} 
\alias{names<-.default} 
\keyword{attribute} 
\description{Functions to get or set the names of an object.} 

संबंधित प्रश्न (लेकिन मैं पहले से ही सुझाव और फिर भी प्रयास विफल लागू कर दिया है):


मैं गलत कहां जा रहा हूं? मैं पैकेज चेतावनी से इस चेतावनी को कैसे हटा सकता हूं?

+0

मुझे यकीन है कि यह एक roxygen2 समस्या नहीं है, लेकिन एक समस्या है जो आपके पैकेज में एक विधि है जब जेनेरिक किसी अन्य पैकेज में है।मुझे पूरा यकीन है कि मैंने अतीत में इसी तरह की समस्याओं में भाग लिया है लेकिन दुर्भाग्यवश मुझे अभी समाधान याद नहीं है :-( –

+1

मुझे नहीं लगता कि आप '@ उपयोग' अनुभाग चाहते हैं। मेरी आरडी फाइलों में इसी तरह की फाइलें प्रकृति, आप '\ method {names} {surveydata} (x) <- value' को शामिल करने के लिए उपयोग करना चाहते हैं, जिसे * @ विधि' अनुभाग द्वारा उत्पादित किया जाना चाहिए। यदि आप '@ उपयोग' को हटाने के बाद नहीं हैं लाइन, फिर उपरोक्त युक्त एक स्पष्ट '@ उपयोग' लाइन जोड़ें? –

+1

@GavinSimpson यह दृष्टिकोण काम करता प्रतीत होता है, धन्यवाद। हालांकि, डिफ़ॉल्ट रूप से,' roxygen' उस उपयोग को उत्पन्न नहीं करता है, इसलिए ओवरराइड कथन। मैं रिपोर्ट करूंगा यह एक बग/नया फीचर अनुरोध के रूप में है। – Andrie

उत्तर

12

रोड फ़ाइल में \usage अनुभाग में निम्न शामिल करने की जरूरत है:

\method{names}{surveydata}(x) <- value 

यह स्वचालित रूप से @method लाइन द्वारा नहीं डाला जाता है (मुझे लगता है कि केवल \method{names}{surveydata}(x) जोड़ देगा अनुमान?) तो आप एक स्पष्ट की जरूरत है @usage अनुभाग जिसमें उपर्युक्त शामिल है। जैसे

#' @usage \\method{names}{surveydata}(x) <- value 

कुछ मैं भी विधि स्पष्ट है कि आर :: आधार में रोड फ़ाइल के साथ संघर्ष के रूप में सामान्य नहीं का उल्लेख करने के @name और @alias वर्गों बदल जाएगा।

अनिवार्य रूप से, चेतावनी तथ्य से आ रही है कि अपने पैकेज नहीं है अभी तक एक समारोह "names<-" शामिल आप \usage{} में यह प्रयोग कर रहे हैं।

+0

+1 पर कोई समस्या दायर की है ऐसा लगता है काम करने के लिए - अब मुझे कोई 'आर सीएमडी चेक' चेतावनी नहीं मिलती है। '@ Name' और' @ alias' के बारे में अतिरिक्त युक्तियों के लिए भी धन्यवाद। मैं इन सावधानी से अध्ययन करूंगा - पैकेज की जांच तंत्र को पूरा करने के मेरे प्रयासों में वे इस तरह से उलझ गए हैं! – Andrie

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^