प्लॉट करने के लिए पास वैरिएबल नाम मैं सोच रहा था कि कोई भी फ़ंक्शन के भीतर एक चर नाम का उपयोग करने में मेरी सहायता कर सकता है। मैंने एक डॉट प्लॉट को एक साथ रखा है जो चर का प्रकार बनाता है और फिर बिटमैप उत्पन्न करता है, लेकिन plot
शीर्षक पर वेरिएबल नाम पास करने के लिए मुझे R
नहीं मिल सकता है।फ़ंक्शन शीर्षक
उदाहरण डेटा
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}`
की तरह कुछ चर नाम पर पारित करने के लिए चाहते हैं, टी को फ़ंक्शन में "रक्त" डालना होगा शीर्षक फ़ील्ड (उदाहरण के लिए डिप्लोटर (mydata $ id, mydata $ blood)
असल में, एक फ़ंक्शन में चर नाम में पेस्ट कैसे करता है? बेहतर होगा यदि कोई शीर्षक से डेटासेट नाम ले सकता है (डेटासेट को अटैच किए बिना, जिसे मुझे बताया गया है, अभ्यास खराब है), ताकि
mydata$blood
प्राप्त करने के बजाय, आपको बस "रक्त" शीर्षक मेंमैं में एक चर नाम में पेस्ट करने के लिए एक आसान समाधान खोजने में विफल रहा हूं। जैसा कि आप अनुमान लगा सकते हैं,
paste()
फ़ंक्शन में वेरिएबल नाम डालने से वेरिएबल के मान लौटाते हैं (ताकि प्लॉट शीर्षक वैल्यू नाम के बजाय मानों से भरा हो)।मैं भी समारोह को स्वचालित करने के भी आगे, ताकि मैं सिर्फ डाटासेट और आईडी डाल सकते हैं, और उसके बाद कार्य हो चाहें डेटासेट में प्रत्येक चर के लिए दोहराया। जाहिर है, इसे प्रश्न 1 को हल करने की आवश्यकता है, अन्यथा शीर्षक और फ़ाइल नाम दोनों समस्याओं का सामना करेंगे।
आपको बहुत बहुत धन्यवाद। यह वास्तव में अच्छी तरह से काम करता है। क्या किसी को 2 करने के बारे में कोई सुझाव है (प्रश्न 2, ऊपर देखें)। उदाहरण के लिए, फू प्लॉट को किसी अन्य फ़ंक्शन "प्लॉटॉल" के भीतर चलाएं जो एक डेटासेट के सभी चर को एक प्लॉट प्लॉट में पास करता है? यह मुझे ## PlotAll (id, mydata) लिखने और सभी ग्राफ़ मुद्रित करने की अनुमति देगा। बहुत धन्यवाद –