Передать имя переменной в название функции построения графика

Мне было интересно, может ли кто-нибудь помочь мне использовать имя переменной в функции. . Я собрал точечный график, который сортирует переменные, а затем создает растровое изображение, но я не могу заставить Rпередать имя переменной в заголовок plot.

Пример данных

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. Во второй строке функции я хотел бы передать переменную имя, что-то вроде

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

    чтобы не ставить "Кровь" в поле Название функции (например, Dplotter(mydata$id,mydata$blood)

    Как вставить имя переменной в функцию? было бы еще лучше, если бы можно было вынуть имя набора данных из Заголовок (без прикрепления набора данных, который, как мне сказали, плохой практике), так что вместо получения mydata$bloodвы просто получите "кровь" в названии.

    Мне не удалось найти простого решения для вставки имени переменной в функция. Как вы можете догадаться, поместив имя переменной в paste()возвращает значения переменной (чтобы заголовок графика заполняется значениями, а не именем переменной).

  2. Я также хотел бы еще больше автоматизировать эту функцию, чтобы я мог просто введите набор данных и идентификатор, а затем повторите функцию для каждой переменной в наборе данных.Очевидно, это требует решения сначала вопрос 1, иначе будут встречаться и заголовок, и имена файлов проблемы.

9
задан Chad S. 19 October 2015 в 22:50
поделиться