gpt4 book ai didi

R : GUIs fast to launch (alternatives to shiny ? )

转载 作者:行者123 更新时间:2023-12-05 02:05:20 26 4
gpt4 key购买 nike

我正在尝试为我的 CRAN 包制作一些 GUI

  1. 一些 f 函数可以在本地启动一个弹出窗口,其中包含一些呈现一些输出的参数,例如在本地启动一个简单的 Shiny 应用。
  2. 弹出窗口允许轻松选择参数,然后“验证”按钮触发带有所选参数的 f 返回,就像 shiny with stopApp

已经用 shiny 完成了,但我认为结果有点不令人满意,因为 shiny 应用程序的启动和停止速度很慢(我想如果有一个对象要序列化的话)。

我看到一些包,比如 vdiffr,似乎通过列出要更改的对象来解决这个问题,因此它们只启动 Shiny 一次以使用一些选择器更改所有内容。如果可能的话,我想避免这种解决方案。

所以问题是:有没有比 Shiny 更方便的 GUI 框架(仅本地,快速启动和快速返回)?或者一些很好的方法来做到这一点,它足够轻(我不想让我的包对于一个小的弹出窗口来说非常重)?

最佳答案

以下是 R 附带的 GUI 工具(不需要包):

(1) 对于足够简单的应用程序select.listmenureadlinefile.choosechoose.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 自带的,所以不需要安装。它只需要使用 library 语句加载。 (如果用户从源代码构建 R,则可以在没有 tcltk 功能的情况下构建它,但在 99% 的所有情况下,tcltk 都会存在)。

这里有一些使用 tcltk 的 R 源代码的简短示例:https://www.stat.berkeley.edu/~s133/Gui-a.html , 更多例子 James Wettenhall's site并且可以运行 Rcmdr R 包来查看复杂的 tcltk 用户界面的示例,尽管运行 Rcmdr 的加载时间比简单的应用程序要长,因为它的大小很大。

因为 tcltk 是 R 本身的一部分,所以它没有 CRAN 页面,但是对于使用 tcltk 的其他包,请查看其 CRAN page 底部的 tcltk2 包的反向依赖关系。因为任何依赖它的包也必须使用 tcltk。

关于R : GUIs fast to launch (alternatives to shiny ? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63645157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com