R 如何减小闪亮应用程序保存的线性模型的大小?
我正在尝试创建一个闪亮的应用程序,允许我拟合线性模型,显示有关它们的信息,然后保存它们 我面临一个问题:当我保存一个模型时,它占据了很大的位置。下面是一个简化的代码:R 如何减小闪亮应用程序保存的线性模型的大小?,r,regression,R,Regression,我正在尝试创建一个闪亮的应用程序,允许我拟合线性模型,显示有关它们的信息,然后保存它们 我面临一个问题:当我保存一个模型时,它占据了很大的位置。下面是一个简化的代码: library(shiny) library(ggplot2) ui <- shinyUI(fluidPage( titlePanel("Save linear Model"), sidebarLayout( sidebarPanel( actionButton("save",
library(shiny)
library(ggplot2)
ui <- shinyUI(fluidPage(
titlePanel("Save linear Model"),
sidebarLayout(
sidebarPanel(
actionButton("save","SAVE !")
),
mainPanel(
textOutput("saved")
)
)
))
server <- shinyServer(function(input, output) {
load("donnees/new/V283/V283_complete.RData")
observeEvent(input$save,{
lm.fit<-lm(price~.,data=diamonds)
save(lm.fit, file="question-x-validated/my-model.RData")
output$saved<-renderText("Saved")
})
})
shinyApp(ui = ui, server = server)
是275.1MB。如果我在加载lm.fit后保存它,我的rdata文件是36.9Mb。如果我保存lm.fit而不加载它,我的文件是13Mb。
如果我直接从R保存lm.fit(而不使用我的闪亮应用程序),则该文件为
657MB
如中所述,这可能是一个环境问题。但在我看来,我正在使用shiny这一事实增加了一些困难,因为上面链接建议的技术在我的案例中都不起作用
我还尝试使用saveRDS函数。并替换为:
lm.fit<-lm(price~.,data=diamonds)
它会改变文件大小,但它的大小永远不会小于6.57Mb
就像在我的真实代码中一样,我导入了非常大的数据集,我的真实模型变得非常巨大(超过500Mb),这使得我闪亮的应用程序在加载/保存这些模型时速度非常慢
我非常感谢你能提供的任何帮助
编辑:
我的问题似乎来自于我的模型中的“术语”元素,好像我是这样做的:
lm.fit<-lm.fit[1:11]
不起作用
还有,有趣的是:
lm.fit$terms查看有关减少glm/lm对象上脂肪大小的一些方法/信息
投票迁移到SO。请参阅帮助中心中有关软件特定问题的建议。从本质上说,CV并不是为代码提供建议或调试代码。这似乎主要是一个编码问题,而不是一个统计问题——看看我们的,看看交叉验证的主题是什么。在我看来,您提供了足够的信息,可以在StackOverflow获得答案;最有可能的结果是,这将被迁移到那里,因此您不需要自己交叉发布。我编辑了我的帖子:我的问题似乎来自terms元素,但使用您帖子中建议的attr(lm.fit$terms,“.Environment”)=c()
,不起作用。是否为您运行?我可以毫无问题地减少lm
和glm
对象。attr(lm.fit$terms,“.Environment”)=c()
行成功运行。您的模型在运行strip\u glm
之前和之后的object.size
是什么。节省了这么多空间。非常感谢你。
assign("lm.fit",lm(price~.,data=diamonds),envir=globalenv())
lm.fit<-lm.fit[1:11]
attr(lm.fit$terms,".Environment") = c()