ellisp / ggseas Goto Github PK
View Code? Open in Web Editor NEWseasonal adjustment on the fly extension for ggplot2
License: GNU General Public License v3.0
seasonal adjustment on the fly extension for ggplot2
License: GNU General Public License v3.0
in ggsdc
ldeaths_df %>%
mutate(sex = factor(sex, levels = c("male", "female"))) %>%
ggsdc(aes(x = YearMon, y = deaths, colour = sex), method = "seas") +
geom_line()
and
ldeaths_df %>%
mutate(sex = factor(sex, levels = c("female", "male"))) %>%
ggsdc(aes(x = YearMon, y = deaths, colour = sex), method = "seas") +
geom_line()
both produce the same results and they should change the order on the legend. An "as character" somewhere is killing the factor level ordering.
My native language in Portuguese and I'm writing my undergraduate thesis in which I will show a plot made by using ggsdc(). I wonder if I can manually change the facets names so I can write what they mean in Portuguese.
Great package. What would you think of possibly implementing functionality that provides a facet of decomposition similar to the default plotting of an "stl" class.
In code, something that mimics this:
some_ts <- ts(rnorm(100), frequency = 12)
plot(stl(some_ts, s.window = "periodic"))
But with ggplot2 styles and similar to your API. Maybe a facet = TRUE
flag?
library(ggseas)
# make demo data
ap_df <- data.frame(
x = as.numeric(time(AirPassengers)),
y = as.numeric(AirPassengers)
)
ggplot(ap_df, aes(x = x, y = y)) +
geom_line(colour = "grey80") +
stat_decomp(frequency = 12, facet = TRUE)
https://cran.r-project.org/web/checks/check_results_ggseas.html
Version: 0.5.1
Check: re-building of vignette outputs
Result: WARN
Error in re-building vignettes:
...
Warning in engine$weave(file, quiet = quiet, encoding = enc) :
Pandoc (>= 1.12.3) and/or pandoc-citeproc not available. Falling back to R Markdown v1.
Quitting from lines 125-126 (ggsdc.Rmd)
Error: processing vignette 'ggsdc.Rmd' failed with diagnostics:
Process terminated
Execution halted
Flavor: r-patched-solaris-x86
Version: 0.5.1
Check: re-building of vignette outputs
Result: WARN
Error in re-building vignettes:
...
Backtrace for this error:
#0 0x129b9e579
#1 0x129b9d945
#2 0x7fff93ac4529
sh: line 1: 89501 Trace/BPT trap: 5 /Volumes/SSD-Data/Builds/R-dev-web/QA/Simon/packages/el-capitan-x86_64/Rlib/3.5/x13binary/bin/x13ashtml /var/folders/xn/m8dzdsgs7sg8q7jgflnqm8w80000gn/T//RtmppExnyS/x1315bc558df5aa/iofile -n -s 2> /dev/null
dyld: lazy symbol binding failed: Symbol not found: _mkostemp
Referenced from: /Volumes/SSD-Data/Builds/R-dev-web/QA/Simon/packages/el-capitan-x86_64/Rlib/3.5/x13binary/bin/../lib/libgfortran.3.dylib (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _mkostemp
Referenced from: /Volumes/SSD-Data/Builds/R-dev-web/QA/Simon/packages/el-capitan-x86_64/Rlib/3.5/x13binary/bin/../lib/libgfortran.3.dylib (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
Program received signal SIGTRAP: Trace/breakpoint trap.
Backtrace for this error:
#0 0x125f5f579
#1 0x125f5e945
#2 0x7fff93ac4529
Quitting from lines 125-126 (ggsdc.Rmd)
Error: processing vignette 'ggsdc.Rmd' failed with diagnostics:
X-13 has returned a non-zero exist status, which means that the current spec file cannot be processed for an unknown reason.
Execution halted
Flavor: r-release-osx-x86_64
"To add support for your custom geom, say GeomCustom, y ou'll need to export a to_basic.GeomCustom in your extension package. For example, since GeomLine is a special case of GeomPath sorted by x-value, to add support for GeomLine, we just sort the data by x and prefix a GeomPath class. If you can't convert your custom geom to a "basic" geom, you might need to also export a geom2trace.GeomCustom method. This will require some knowledge of the plotly.js JSON spec, but we'd be more than happy to help. If anyone has questions, or suggestions on better ways to do things, please let me know!"
This might or might not help with #15 but it would be good practice, instead of importing all of seasonal and stats, to import just the functions needed.
Needs checking and testing but I think currently this isn't done
I'm getting this error in the first time using ggseas
after upgrading to R 3.3.2 and ggplot2 2.2.0
Error: StatSeas was built with an incompatible version of ggproto.
Please reinstall the package that provides this extension.
Execution halted
Exited with status 1.
eg
ldeaths_sorted <- ldeaths_df[order(ldeaths_df$deaths), ]
ggplot(ldeaths_sorted, aes(x = YearMon, y = deaths, colour = sex)) +
stat_decomp(frequency = 12)
The fix will be to sort it by x during the stat.
for some reason the CRAN version isn't working, at least on one of my machines. Returns errors even when running the basic examples of stat_stl, stat_decomp, etc. Hopefully this is temporary. In the meantime, the github version (which is identical in theory) works fine.
possibly good to get this down to 4 seconds :)
probably can just change to subset?
https://www.r-project.org/nosvn/R.check/r-devel-macos-x86_64-clang/ggseas-00check.html
checking re-building of vignette outputs ... WARNING
Error in re-building vignettes:
...
Quitting from lines 125-126 (ggsdc.Rmd)
Error: processing vignette 'ggsdc.Rmd' failed with diagnostics:
Process terminated
Execution halted
stat_rollapplyr
Expand the readme to a proper vignette.
For exmaple (not reproducible unless you have cam_df2):
This works:
cam_df2 %>%
data.frame() %>%
ggsdc(aes(x = TimePeriod, y = Value, color = CV1), start = c(1996,7), frequency = 12, s.window = 7) +
geom_line()
but this doesn't:
cam_df2 %>%
ggsdc(aes(x = TimePeriod, y = Value, color = CV1), start = c(1996,7), frequency = 12, s.window = 7) +
geom_line()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.