我有一个从MSSQL调用数据子集的函数,然后绘制直方图。数据集大约有100万条记录。
我想知道在显示图表后该函数是否将数据保存到内存中?
让我们说数据是200 MB,我有1000 MB的ram。
运行我的函数后,数据占用200 MB(剩余800 MB)还是返回1000 MB?
如果在运行后确实需要200 MB,那么如何在不耗尽所有记忆的情况下生成绘图。
我的功能:
echeckvscc <- function(year) {
library(RODBC)
library(ggplot2)
myconn <- odbcConnect("SQLServer")
query = paste("select *
from PaymentAnalysis
where statusdesc = 'Successful'
and year = ", year,
"and PayMethodDesc2 in ('Credit Card','eCheck')
and TransType is not null
and TotTransAmt > 0")
a <- ggplot(sqlQuery(myconn, query = query),aes(x = month, fill = PayMethodDesc2 ))
a <- a + geom_histogram(position = "dodge", binwidth = .5, origin = -0.25) +
scale_x_continuous(breaks = 1:12)
odbcClose(myconn)
return(a)
}
谢谢