我正在努力制作一些相当复杂的情节,它们结合了R中的几个数据集,ggplot2这对于这项工作非常有用,但是人类很慢.我意识到我正在处理大量的数据点,但我认为我在任何地方都有一个任意的瓶颈.让我解释...
我有10个不同的向量,每个150,000个条目长.我想使用ggplot2在命令行上创建一个带有这些的图形,并将生成的png保存到磁盘.10个矢量中的每一个将是不同的颜色,一些将是线条,一些将是条形.代码如下所示:
bulk = data.frame(vector1=c(1,5,3,5,...), ... vector10=c(5,3,77,5,3, ...))
png(filename="figure.png", width=4000, height=800)
ggplot(bulk, aes(x=vector1), aes(alpha=0.2)) +
geom_bar(aes(y=vector2), color="red", stat="identity") +
geom_bar(aes(y=vector3), color="black", stat="identity") +
..................
geom_line(aes(y=vector10), color="black", size=1) +
scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
请记住,我有10个向量,每个150,000个条目长,所以我有1.5M数据点来绘制.但是,我使用的是具有32GB RAM的8核4Ghz /核心机器,但是R几乎没有RAM,只有1个核心.这是预料之中的,因为据我所知这个过程不能是多线程的,但渲染真的需要每个数字大约1个小时吗?
感觉就像我的代码是任意膨胀这个处理时间.特别是因为每10个矢量20,000个条目的相同问题仅需要大约20秒.将其缩放比线性缩放时间更重要.
有没有人对这个问题有解决方案或怀疑?谢谢你的帮助!
| 归档时间: |
|
| 查看次数: |
2226 次 |
| 最近记录: |