Übergeben Sie Variablen-Namen zu zeichnen-Funktion Titel

Ich Frage mich, wenn jemand könnte mir helfen, verwenden Sie den Namen einer Variablen innerhalb einer Funktion.
Ich habe eine dot-plot, die möglichen Variablen und erzeugt dann ein bitmap, aber ich kann Sie nicht R übergeben den Namen der Variablen, um die plot Titel.

Beispiel Daten

id<-c(1,2,3)
blood<-c(1,2,10)
weight<-c(1,2,13)


mydata<-as.data.frame(cbind(id,blood,weight))
mydata$blood

#######SORTED DOT PLOT####


Dplotter<-function (id,x,Title=""){
if (is.null(Title)) {Title=""} else {Title=Title} 

DIR<-paste("C:/temp/WholePlots/New/",Title,".bmp",sep="")

D<-as.data.frame(cbind(id,x))
x1<-as.data.frame(D[order(x),])

bmp(DIR)
dotchart(x1$x,labels=id,main=Title,pch=16)
dev.off()
}


###############
Dplotter(mydata$id,mydata$blood,"Blood")

Dplotter(mydata$id,mydata$weight,"Weight")
  1. In der zweiten Zeile der Funktion ist, würde ich gerne pass auf die variable
    Namen, so etwas wie

    `if (is.null(Title)) {Title=varname(x)} else {Title=Title}`

    so, dass ich nicht haben, um "Blut" in der Funktion Titel-Feld
    (z.B. Dplotter(mydata$id,mydata$Blut)

    Grundsätzlich, wie stellt man das einfügen in den Namen der Variablen in einer Funktion? Es
    wäre noch besser, wenn man nehmen könnte, aus der dataset-name aus dem
    Titel (ohne anbringen des dataset, die ich habe gesagt, schlecht ist
    Praxis), so dass anstatt mydata$blood, die Sie gerade bekommen
    "blood" im Titel.

    Habe ich konnte nicht finden eine einfache Lösung zum einfügen von Variablen-Namen in der
    eine Funktion ist. Wie Sie sich vorstellen können, setzen Sie den Variablennamen in einer
    paste() Funktion gibt die Werte der Variablen (so, dass die
    plot-Titel ist mit Werten gefüllt, sondern der name der Variablen).

  2. Ich würde auch gerne automatisieren, um die Funktion noch weiter, so dass ich
    setzen Sie einfach den Datensatz und die ID,und dann haben die Funktion wiederholt
    für jede variable im Datensatz. Offensichtlich verlangt dies die Lösung
    Frage 1 zunächst anders beiden Titel und Dateinamen begegnen
    Probleme.

InformationsquelleAutor Marco M | 2012-03-12
Schreibe einen Kommentar