So the general strategy for getting these into separate panels in ggplot is to have a single variable that will be your response and a factor variable that indexes which original variable it came from. This can be accomplished in many ways, but the way I use is with the melt() function in the reshape2 package.
For example,

library(reshape2)
plotDF <- melt(SPYdf,
                        id.vars="Date", # variables to replicate
                        measure.vars=c("close", "volume"), # variables to create index from                         variable.name="parameter", # name of new variable for index                         value.name="resp") # name of what will be your response variable

Now the ggplot2 code:

library(ggplot2)
ggplot(plotDF, aes(x=Date, y=resp)) +
    facet_wrap(~parameter, ncol=1, scales="free") +
    geom_line()


Hope that does the trick!

Charlie


On 01/18/2018 02:11 PM, Eric Berger wrote:
Hi Charlie,
I am comfortable to put the data in any way that works best. Here are two possibilities: an xts and a data frame.

library(quantmod)
quantmod::getSymbols("SPY")  # creates xts variable SPY
SPYxts <- SPY[,c("SPY.Close","SPY.Volume")]
SPYdf  <- data.frame(Date=index(SPYxts),close=as.numeric(SPYxts$SPY.Close),
 volume=as.numeric(SPYxts$SPY.Volume))
rownames(SPYdf) <- NULL

head(SPYxts)
head(SPYdf)

#           SPY.Close SPY.Volume
#2007-01-03    141.37   94807600
#2007-01-04    141.67   69620600
#2007-01-05    140.54   76645300
#2007-01-08    141.19   71655000
#2007-01-09    141.07   75680100
#2007-01-10    141.54   72428000

#        Date  close   volume
#1 2007-01-03 141.37 94807600
#2 2007-01-04 141.67 69620600
#3 2007-01-05 140.54 76645300
#4 2007-01-08 141.19 71655000
#5 2007-01-09 141.07 75680100
#6 2007-01-10 141.54 72428000

Thanks,
Eric



On Thu, Jan 18, 2018 at 8:00 PM, Charlie Redmon <redm...@gmail.com <mailto:redm...@gmail.com>> wrote:

    Could you provide some information on your data structure (e.g.,
    are the two time series in separate columns in the data)? The
    solution is fairly straightforward once you have the data in the
    right structure. And I do not think tidyquant is necessary for
    what you want.

    Best,
    Charlie

-- Charles Redmon
    GRA, Center for Research Methods and Data Analysis
    PhD Student, Department of Linguistics
    University of Kansas
    Lawrence, KS, USA



--
Charles Redmon
GRA, Center for Research Methods and Data Analysis
PhD Student, Department of Linguistics
University of Kansas
Lawrence, KS, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to