我想知道是否有人可以帮助我在函数中使用变量名称。 我已经放在一起,对变量进行排序然后产生一个位图的点图,但我不能让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")
在功能的第二行,我想通过在可变 名,像
`if (is.null(Title)) {Title=varname(x)} else {Title=Title}`
使得我不t必须在功能标题字段 (例如Dplotter(mydata $ id,mydata $ blood)
基本上,如何在函数中粘贴变量名?如果可以从 标题中取出数据集名称(没有附加数据集,我已经告诉其实的做法不好),那么 会更好,因此您可以取而代之以获得
mydata$blood
,这样就可以得到 “鲜血”在标题中。我找不到一个简单的解决方法,在 函数中粘贴变量名。如您所知,将变量名称放入一个
paste()
函数将返回变量的值(以便 绘图标题填充值而不是变量名称)。我还想更进一步自动化功能,这样我可以 只是把数据集和ID,然后有功能重复 在数据集中的每个变量。显然这需要先解决 问题1,否则标题和文件名都会遇到 问题。
非常感谢。它工作得很好。 有没有人对如何做2有任何建议(问题2,见上文)。例如,让foo绘图在另一个函数“PlotALL”中运行,该函数将数据集的所有变量逐一传递给foo plot? 这将允许我写 ## PlotAll(id,mydata) 并获得所有打印的图形。 非常感谢 – 2012-03-12 12:29:20