2012-05-17 9 views
6

Dies funktioniert:Pass Charakter Paketnamen Funktion helfen

help(package="ggplot2") 

Dies gilt nicht:

x <-"ggplot2" 
help(package=x) 

# Error in find.package(pkgName, lib.loc, verbose = verbose) : 
# there is no package called ‘x’ 

Wie kann ich es so machen, dass ich x passieren kann, um die Hilfeseite zu öffnen?

Antwort

6

in Klammern die Variable Put:

x <-"ggplot2" 
help(package=(x)) 

Die Hilfedatei für ?help eher kryptisch für das Paket Argument lautet:

einen Namen verwenden, um zu vermeiden z deparsed werden (pkg_ref) (siehe Beispiele).

+0

Perfekt konstruiert werden. Ich hätte vor einer halben Stunde fragen sollen, bevor das mich verrückt machte. Du hast so schnell geantwortet, dass ich den Check noch nicht ankreuzen kann. –

+2

'library' hat ein 'character.only'-Argument, das auf diese Weise verwendet werden kann (d. H.' Library (x, character.only = TRUE)'): der Klammertrick hilft nicht bei 'library'); vielleicht wäre eine Wunschliste an R-devel, um ein solches Argument für "help" hinzuzufügen, in Ordnung? –

4

Beide help und library Anrufe für "Zeichen" Klasse Eingangs Interpretation kann mit do.call

x <-"ggplot2" 
do.call(library, list(x)) 
do.call(help, list(package=x)) 
+0

sehr verallgemeinerbar zu beiden +1 –

+0

also, könnte man (clunkily) 'help (package = list (x))' 'verwenden? –

+0

Ich dachte, ich hätte getestet und sah es scheitern, aber es scheint zu gelingen. –