R:GUI的发布速度很快(shiny的替代品?)
我正在尝试为我的CRAN包制作一些GUIR:GUI的发布速度很快(shiny的替代品?),r,user-interface,shiny,frameworks,R,User Interface,Shiny,Frameworks,我正在尝试为我的CRAN包制作一些GUI 一些f函数在本地启动一个带有几个参数的弹出窗口,呈现一些输出,比如在本地启动一个简单的闪亮应用程序 弹出窗口允许轻松选择参数,然后“验证”按钮触发返回带有所选参数的f,如stopApp 我已经用shiny做到了这一点,但我认为结果有点不令人满意,因为shiny应用程序的启动和停止都很慢(我想如果有对象要序列化的话) 我已经看到一些包,比如vdiffr,似乎通过列出要更改的对象来解决这个问题,所以它们只启动一次shiny,用一些选择器来更改所有内容。如果可
f
函数在本地启动一个带有几个参数的弹出窗口,呈现一些输出,比如在本地启动一个简单的闪亮应用程序f
,如stopApp所以问题是:有没有比Shiny更方便的GUI框架(只有本地、快速启动和快速返回)?或者是一种很好的方法,它足够轻(我不想让我的包对于一个小弹出窗口来说特别重)这取决于你的编码知识。然而,我的第一个方法是尝试改进你闪亮的应用程序。为此,您可以使用
profvis
来检查为什么您的闪亮应用程序运行缓慢。如果您决定继续使用Shiny,有很多方法可以缩短Shiny的启动时间。但是,如果你要得出结论,你真的想把船投得闪闪发光,那么你应该考虑使用JavaScript。
- 要么用纯JavaScript编写完整的应用程序
- 或者您可以在Shiny中使用JavaScript(例如)
当然,@Pork Chop提到的使用
rmarkdown
或普通markdown
的其他方法实际上取决于您的编码知识。然而,我的第一个方法是尝试改进你闪亮的应用程序。为此,您可以使用profvis
来检查为什么您的闪亮应用程序运行缓慢。如果您决定继续使用Shiny,有很多方法可以缩短Shiny的启动时间。但是,如果你要得出结论,你真的想把船投得闪闪发光,那么你应该考虑使用JavaScript。
- 要么用纯JavaScript编写完整的应用程序
- 或者您可以在Shiny中使用JavaScript(例如)
当然还有@Pork Chop提到的使用
rmarkdown
或普通markdown
的其他方法。下面是R附带的GUI工具(无需软件包):
(1) 对于足够简单的应用程序,select.list
,菜单
,读线
,文件。可以使用choose
和choose.dir
,并根据用户所处的环境显示文本或图形用户界面。这些都带有R,启动速度非常快,并且易于编程。请参阅这些命令的帮助页,然后重试:
select.list(c("oranges", "apples", "pears"))
menu(c("oranges", "apples", "pears"))
readline("Enter name of fruit: ")
choose.dir()
file.choose()
(2) tcltk软件包是一种能够提供像闪亮一样复杂的用户界面的可能性。这是R附带的,因此不需要安装。只需要使用库
语句加载它。(如果用户从源代码构建R,则可以在没有tcltk功能的情况下构建R,但在99%的情况下,tcltk都会存在)
这里有几个使用tcltk的R源代码的简短示例:您可以运行Rcmdr包来查看复杂tcltk用户界面的示例,尽管由于其较大的尺寸,这比简单应用程序的加载时间要长
由于tcltk是R本身的一部分,因此它没有CRAN页面,但对于使用tcltk的其他软件包,请查看其底部tcltk2软件包的反向依赖关系,因为依赖它的任何软件包也必须使用tcltk。以下是R附带的GUI功能(无需软件包): (1) 对于足够简单的应用程序,
select.list
,菜单
,读线
,文件。可以使用choose
和choose.dir
,并根据用户所处的环境显示文本或图形用户界面。这些都带有R,启动速度非常快,并且易于编程。请参阅这些命令的帮助页,然后重试:
select.list(c("oranges", "apples", "pears"))
menu(c("oranges", "apples", "pears"))
readline("Enter name of fruit: ")
choose.dir()
file.choose()
(2) tcltk软件包是一种能够提供像闪亮一样复杂的用户界面的可能性。这是R附带的,因此不需要安装。只需要使用库
语句加载它。(如果用户从源代码构建R,则可以在没有tcltk功能的情况下构建R,但在99%的情况下,tcltk都会存在)
这里有几个使用tcltk的R源代码的简短示例:您可以运行Rcmdr包来查看复杂tcltk用户界面的示例,尽管由于其较大的尺寸,这比简单应用程序的加载时间要长
因为tcltk是R本身的一部分,所以它没有CRAN页面,但对于使用tcltk的其他包,请查看其底部tcltk2包的反向依赖关系,因为依赖它的任何包也必须使用tcltk。为什么不尝试rmarkdown?它应该是包开发的一部分anyway@PorkChop我不想要一个报告,而是一个GUI,允许用户以交互方式选择函数的参数。我的意思是,闪亮是好的,允许我想要的一切。关键是它的启动和停止都很慢,因此我想知道是否有比Shining更适合这种用途的替代品。为什么不试试rmarkdown呢?它应该是包开发的一部分anyway@PorkChop我不想要一个报告,而是一个GUI,允许用户以交互方式选择函数的参数。我的意思是,闪亮是好的,允许我想要的一切。关键是它的启动和停止都很慢,因此我想知道是否有比闪亮更适合这类产品的替代品