2012-06-07 7 views
7

Sto costruendo un pacchetto R per la prima volta e sto avendo qualche problema. Sto facendo un controllo R CMD e sto ottenendo il seguente errore:Pacchetto Building R: nessuna definizione di funzione globale visibile per 'subject'

get.AlignedPositions: no visible global function definition for 'subject' 

Non sono sicuro di ciò che sta causando questo. Non ho nemmeno una variabile "soggetto" nel mio codice. Il codice è piuttosto lungo quindi preferisco non incollarlo tutto a meno che qualcuno non chieda in un commento. C'è qualcosa di specifico che dovrei cercare? L'unica cosa che posso pensare è che ho una linea come questa:

alignment <-pairwiseAlignment(pattern = canonical.protein, subject=protein.extracted, patternQuality=patternQuality, 
          subjectQuality=subjectQuality,type = type, substitutionMatrix= substitutionMatrix, 
          fuzzyMatrix=fuzzyMatrix,gapOpening=gapOpening,gapExtension=gapExtension, 
          scoreOnly=scoreOnly) 

ma soggetto è definito dalla funzione pairwiseAlignment nel pacchetto Biostrings. Grazie per l'aiuto!

+0

Guardate nella vostra funzione 'get.AlignedPosition', potreste essere in grado di vedere' subject' essere usato come una funzione, sulla falsariga di 'subject (foo)'. Il bioconduttore [mailing list dello sviluppatore] (http://bioconductor.org/help/mailing-list/) è progettato per servire (anche in questo caso) sviluppatori di bioconduttori. –

+0

Nella funzione in cui si ha questo bit di codice, proprio in alto, inserire un 'subject <- NA' quindi' rm (subject) 'nella riga successiva. Quindi fai di nuovo una build e guarda cosa succede. – Maiasaura

risposta

6

R ha individuato una funzione, subject, utilizzata senza una funzione denominata subject disponibile. Una possibile ragione è spiegata in this discussion on R-devel. In tal caso il codice viene utilizzato in modo condizionale, ad es. se un certo pacchetto è installato usiamo le sue funzionalità. Quando controlliamo il pacchetto su un sistema che non ha questo pacchetto installato, eseguiamo questo tipo di avvertimenti. Quindi per favore controlla se questo potrebbe essere il caso. In alternativa, potresti aver commesso un errore chiamando il soggetto senza alcuna funzione, ad es. subject non era una funzione ma solo un oggetto.

Problemi correlati