関数内で変数名を使用するのを手伝ってくれる人がいるかどうか疑問に思っていました。変数を並べ替えてビットマップを生成するドット プロットをまとめましたが、変数名をタイトル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")
関数の 2 行目で、次のような変数名を渡したいと思います。
`if (is.null(Title)) {Title=varname(x)} else {Title=Title}`
関数のタイトル フィールドに "Blood" を入力する必要がないように (例: Dplotter(mydata$id,mydata$blood)
基本的に、関数内の変数名をどのように貼り付けますか? タイトルからデータセット名を取り出すことができれば (データセットを添付せずに、これは悪い習慣であると言われています)、
mydata$blood
タイトルに「血」を取得する代わりに取得できればさらに良いでしょう。関数内の変数名に貼り付ける簡単な解決策を見つけることができませんでした。ご想像のとおり、変数名を関数に入れると、変数
paste()
の値が返されます (プロット タイトルが変数名ではなく値で満たされるように)。また、関数をさらに自動化して、データセットと ID を入力するだけで、データセット内の変数ごとに関数を繰り返すことができるようにしたいと考えています。明らかに、これには最初に質問 1 を解決する必要があります。そうしないと、タイトルとファイル名の両方に問題が発生します。