gpt4 book ai didi

r - 在 R 中以交互方式选择目录的独立于操作系统的方式

转载 作者:行者123 更新时间:2023-12-03 14:53:59 26 4
gpt4 key购买 nike

我希望用户能够在 R 中以交互方式选择目录。该解决方案需要在不同的平台上工作(至少在具有图形桌面环境的 Linux、Windows 和 Mac 机器上)。它需要足够强大,才能在各种计算机上工作。我遇到了我所知道的变体的问题:
file.choose()不幸的是,它只适用于文件 - 它不允许选择目录。除了这个限制,file.choose是我正在寻找的解决方案类型的一个很好的例子 - 它可以跨平台工作,并且没有特定计算机上可能不可用的外部依赖项。
choose.dir()仅适用于 Windows。
tk_choose.dir()来自 library(tcltk)直到最近都是我的首选解决方案。但是我有用户报告这会引发错误

log4cplus:ERROR No appenders could be found for logger (AdSyncNamespace). log4cplus:ERROR Please initialize the log4cplus system properly.



我们追踪到正在安装 Autodesk360 软件,由于某种原因干扰了 tcltk .因此,除非有解决方案,否则这不是一个合适的解决方案。 (我通过谷歌搜索找到的唯一解决方案是卸载 Autodesk360,这对于安装它的用户来说不是解决方案,因为他们实际使用它)。

This answer建议以下作为可能的替代方案:
library(rJava)
library(rChoiceDialogs)
jchoose.dir()

但是,作为一个可能出错的例子,当我尝试 install.packages("rJava")我有:

checking whether JNI programs can be compiled... configure: error: Cannot compile a simple JNI program. See config.log for details.

Make sure you have Java Development Kit installed and correctly registered in R. If in doubt, re-run "R CMD javareconf" as root.

ERROR: configuration failed for package ‘rJava’ * removing ‘/home/dominic/R/x86_64-pc-linux-gnu-library/3.3/rJava’ Warning in install.packages : installation of package ‘rJava’ had non-zero exit status



通过使用 linux 包管理器安装 openjdk 编译器,然后运行 ​​ sudo R CMD javareconf,我设法在我自己的机器(运行 openJDK 的 Linux)上解决了这个问题。 .但是我不能指望具有不同计算机专业知识水平的随机用户必须跳过箍,以便他们可以选择一个目录。即使他们确实设法修复了它,当他们使用的所有其他软件都设法打开目录选择对话框而没有任何问题时,它看起来会很糟糕。

所以我的问题是:是否有一种可靠的方法可以可靠地在各种平台上“正常工作”(如 file.choose 用于文件),并且不期望最终用户具有足够的计算机知识来解决这些问题问题(例如与 Autodesk360 不兼容或 Unresolved Java 依赖项)?

最佳答案

对于某些用例,一个小技巧可能是使用 dirname()file.choose()目录<-目录名(file.choose())
这将返回目录。但是,它确实要求目录中至少存在一个文件

关于r - 在 R 中以交互方式选择目录的独立于操作系统的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218491/

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