[问题] strptime 与 ggsave 的问题

楼主: hanglong (小焕)   2018-12-27 22:23:51
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
各位R版上的先进大家好 近期我在使用程式上 遇到一些比较奇怪的问题
原先使用程式上 都没有任何的异常 但近期因为电脑有些问题 需要重灌
我就把自己写的程式储存起来 想说重灌后 再重新下载R与R Studio
灌好R后再重新下载需要的Package 但特别的是 原本可以跑的程式
就出现了Error 导致程式无法执行 以下为我的程式码
[程式范例]:
library(gplots)
library(ggplot2)
library(SixSigma)
library(lubridate)
library(Cairo)
coat <- read.csv("C:\\Users\\rex\\Desktop\\coating.csv")*[m
#其中 coat$作业日 是日期的形式,例如:2018/12/27
#coat$average.是浮点数
#我想用这两个画图,X座标为日期,Y座标为数值
ggsave(plot = ggplot(data = coat) + geom_point(aes(strptime(作业日,
"%Y/%m/%d"), average.1)), file = "X:\\趋势图.pdf", width = 15, height = 7,
device = cairo_pdf, family = "Song")
但程式出现以下错误:
Error in dev(filename = filename, width = dim[1], height = dim[2], ...) :
unable to start device 'cairo_pdf'
In addition: Warning message:
In dev(filename = filename, width = dim[1], height = dim[2], ...) :
cairo error 'out of memory'
在还无法解决此问题的情形下 我想说先画图 之后在解决储存的问题
因此将内容撷取出来:
ggplot(data = coat) + geom_point(aes(strptime(作业日, "%Y/%m/%d"), average.1))
此时出现另外的错误:
Error: Column `x` is a date/time and must be stored as POSIXct, not POSIXlt
而以上的两个问题 在重灌之前是都不会出现
程式是可以顺利执行的 但是不晓得为什么会出现这些错误
原本想说是不是有其他的Package我没有使用到 但是程式并没有出现看不懂函数的讯息
希望各位先进可以指点迷津 谢谢
[环境叙述]:
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 LC_CTYPE=Chinese
(Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Cairo_1.5-9 lubridate_1.7.4 SixSigma_0.9-52 ggplot2_3.1.0
gplots_3.0.1
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 magrittr_1.5 MASS_7.3-51.1 munsell_0.5.0
[5] xtable_1.8-3 colorspace_1.3-2 lattice_0.20-38 R6_2.3.0
[9] rlang_0.3.0.1 stringr_1.3.1 plyr_1.8.4
caTools_1.17.1.1
[13] tools_3.5.2 qcc_2.7 grid_3.5.2 gtable_0.2.0
[17] KernSmooth_2.23-15 withr_2.1.2 gtools_3.8.1 digest_0.6.18
[21] lazyeval_0.2.1 tibble_1.4.2 crayon_1.3.4 bitops_1.0-6
[25] testthat_2.0.1 labeling_0.3 stringi_1.2.4 gdata_2.18.0
[29] compiler_3.5.2 pillar_1.3.1 scales_1.0.0
[关键字]:
strptime ggsave ggplot2
作者: andrew43 (讨厌有好心推文后删文者)   2018-12-28 16:35:00
strptime会回传POSIXlt物件,但ggplot需要POSIXct物件。as.POSIXct(strptime(...))应该就好了

Links booklink

Contact Us: admin [ a t ] ucptt.com