我绘图时,总是出这样的错误,有人知道吗?谢谢?
scatterplot3d(x,y,z)
Error: cannot allocate vector of size 64.0 Mb
xlab<-1:length(a)
df<-data.frame(m=xlab,n=(x-y)/2)
library(ggplot2)
qplot(x=m,y=n,data = df,geom="point")
Error: cannot allocate vector of size 32.2 Mb
请问一下,在R中绘制数据点很多的图一般都用哪个包啊,
我的读入文件是一段DNA序列,序列号是NC_000964.3,下载地址https://www.ncbi.nlm.nih.gov/nuccore/255767013/?report=fasta,,然后我想对该序列进行可视化绘图,然后就发现用plot,或者是ggplot,都很慢,
library(Biostrings)
library(BioGenerics)
library(stats4)
library(S4Vectors)
library(IRanges)
library(XVector)
library(seqinr)
library(parallel)
library(scatterplot3d)
library(ggplot2)
seq<-readDNAStringSet(file.choose())#读入NC_000964.fna格式文件
seq1<-as.character(seq)
seq2<-getSequence(seq1)
a<-cumsum(seq2=="A")
g<-cumsum(seq2=="G")
t<-cumsum(seq2=="T")
c<-cumsum(seq2=="C")
x<-(a+g)-(c+t)
y<-(a+c)-(g+t)
z<-(a+t)-(g+c)
scatterplot3d(x,y,z)#用这个画,有时候就能画出来,有时候就出现Error: cannot allocate vector of size 64.0 Mb
xlab<-1:length(a)
df<-data.frame(m=xlab,n=(x-y)/2)
library(ggplot2)
qplot(x=m,y=n,data = df,geom="point")
Error: cannot allocate vector of size 32.2 Mb或者是Error in plyr::split_indices(scale_id, n) : std::bad_alloc
ggplot(df,aes(x=m,y=n))+geom_point()
Error: cannot allocate vector of size 32.2 Mb
- 已编辑
看起来是内存溢出了,如果非要画图可以试着不画散点图,试试密度图或者对点进行采样再画图。
不过看数据从理论来讲你这个画散点图的完全没生物学意义啊:
数据是4,215,606 bp的基因组,也就是说你的列长四百万。x表示从1到N这段里 A+G与C+T的bp数目差,yz类似。这样当N足够大的时候,X[N]的变动会很小,画在图上很有可能会缩在一个点,得到的有用信息太少了吧,这个看起来给我感觉就是方向有点跑偏了……
建议你跟了解你课题的师兄师姐或者导师讨论一下
不知道您有没有听过生物信息学方面的张春霆院士,我是想根据他的Z曲线理论绘图,?,然后进行链偏差分析,您给的建议很好?谢谢指导