/ / एक फंक्शन के माध्यम से एक स्ट्रिंग खींचने के मुद्दे - आर, समारोह, वाक्यविन्यास, ggplot2

एक फंक्शन के माध्यम से एक स्ट्रिंग खींचने के मुद्दे - आर, समारोह, वाक्यविन्यास, ggplot2

तो मेरा कोड जाने के लिए अधिकतर अच्छा है, इस मुद्दे के अंत में इस मुद्दे के साथ आता है:

sqlPlot <- sqlPlot + facet_wrap(~variable)

ऐसा इसलिए हो रहा है क्योंकि जिस चर के माध्यम से मैं खींच रहा हूं वह एक स्ट्रिंग है और मेरे कोड के facet_wrap () सेगमेंट के साथ संगत नहीं है।

मेरा सवाल है, मैं सिंटैक्स को कैसे बदल सकता हूंयह काम करेगा? मैंने इस मुद्दे को हल करने का शोध करने का प्रयास किया है, लेकिन चूंकि मैं आर के लिए काफी नया हूं, इसलिए मुझे पूरा यकीन नहीं है कि प्रश्न पूछने के लिए कैसे। किसी भी और सभी मदद की सराहना की जाएगी।

पुस्तकालय (sqldf) पुस्तकालय (dplyr) पुस्तकालय (ggplot2) पुस्तकालय (lubridate)

sqldfGraphFn <- फ़ंक्शन (चर) { colNames <-पेस्ट करें ("चयन करें", प्राप्त करें (चर), ", एफवायएफक्यू, तिथि, योग (राजस्व), योग (मात्रा),", "योग (राजस्व * छूट) / योग (राजस्व)", sep = "") <- "cleanData से" समूह द्वारा <- पेस्ट ("समूह द्वारा", प्राप्त करें (चर), ", एफवायएफक्यू, तिथि", सीपी = "") sql सब कुछ <- पेस्ट (colNames, से, groupBy, sep = "") sqlTest <- sqldf (sql सब कुछ)

colnames(sqlTest)[which(colnames(sqlTest)=="sum(Revenue*Discount)/sum(Revenue)")] <- "wtCOGs" arguments <- as.list(match.call()) variable = eval(arguments$variable, sqlTest) sqlPlot <- ggplot(data=sqlTest, aes(x=weightedDiscount, y=SLC)) + geom_point() sqlPlot <- sqlPlot + scale_x_continuous(limits=c(-.05, .05), breaks=(-10:10)/200) + scale_y_continuous(limits=c(0, 1000000)) sqlPlot <- sqlPlot + facet_wrap(~variable) sqlPlot } sqldfGraphFn("CarType") </ Pre>

उत्तर:

उत्तर № 1 के लिए 1

आप स्ट्रिंग से फॉर्मूला ऑब्जेक्ट्स बना सकते हैं, इसलिए:

variable <- "CarType"
myFormula <- as.formula(paste0("~", variable))

...

sqlPlot + facet_wrap(myFormula)