我有一个4.5MB(9,223,136行)的文件,其中包含以下信息:
0 0
0.0147938 3.67598e-07
0.0226194 7.35196e-07
0.0283794 1.10279e-06
0.033576 1.47039e-06
0.0383903 1.83799e-06
0.0424806 2.20559e-06
0.0465545 2.57319e-06
0.0499759 2.94079e-06
每一列都代表了一个从0到100的值,表示一个百分比。我的目标是在ggplot2中绘制一个图形,以查看它们之间的百分比(例如,在column1中使用20%时,在column2上实现了什么百分比)。这是我的R脚本:
library(ggplot2)
dataset=read.table("~/R/datasets/cumul.txt.gz")
p <- ggplot(dataset,aes(V2,V1))
p <- p + geom_line()
p <- p + scale_x_continuous(formatter="percent") + scale_y_continuous(formatter="percent")
p <- p + theme_bw()
ggsave("~/R/grafs/cumul.png")
我有一个问题,每次运行这个程序时,R都会耗尽内存,显示错误信息:"Cannot allocate vector of size 128.0 Mb"。我的机器是Linux系统,使用的是32位的R,而且还有4GB的空闲内存。
我考虑了一种解决方法,即通过舍入减少这些值的精度,并消除数据集中的重复行,以便在数据集中拥有更少的行数。您能否给我一些建议?
/usr/bin/R CMD BATCH --vanilla --no-timing ~/scripts/R/grafs/cumul.R ~/R/scripts_output/cumul.txt
- Barata