在Shiny中使用ASReml包的功能

时间:2014-08-19 08:07:00

标签: r shiny shiny-server

我在闪亮的应用中使用共享软件包ASReml。为了创建模型,我需要使用asreml()函数。我首先创建名为data1的数据。

如果我使用asreml函数,它可以正常工作: model<-asreml(fixed=TRAIT~TEMOIN,random=~PANEL,data=data1,na.method.X="include",na.method.Y="include") 并创建了model

问题在于我想创建很多不同的模型以便选择最好的模型。对我来说最简单的方法是创建一个返回模型列表的函数。例如,我做了这个: Model.list.creator=function(data.sle){ model<-asreml(fixed=TRAIT~TEMOIN,random=~PANEL,data=data.sle,na.method.X="include",na.method.Y="include") models=list(model) return(models) }

如果我使用Results=Model.list.creator(data.sle=data1)在R控制台中使用该功能,我会使用Results[[1]]获取模型。 如果我在我的闪亮应用程序中使用该功能,它会返回错误:Error in eval(expr, envir, enclos) : object 'data.sle' not found ...只是在显示函数的结果之后!!

注意:mod的计算是在observe循环中进行的。

提前感谢您对此问题的任何帮助

2 个答案:

答案 0 :(得分:0)

help(observe)“......观察者就像一个反应式表达式,因为它可以读取反应值并调用反应式表达式,并且当这些依赖性发生变化时会自动重新执行。但与反应式表达式不同,它不会产生一个结果,不能用作其他反应式表达式的输入...“ 尝试使用被动反应。

答案 1 :(得分:0)

我在VSNi论坛上找到了一个解决方案 - http://www.vsni.co.uk/forum/viewtopic.php?t=1081 将公式分配给全局环境使它们可用,即使asreml函数在一个闪亮的应用程序的函数内调用。

相关问题