我可以在绕过加载命名空间的同时加载 RData 文件吗?

2024-01-08

假设我的一些用户无法更改他们的 R 环境,但我需要他们能够打开 RData 文件。这些环境文件需要加载一个包(确切地说是httpuv)。我们不关心包,我们不需要它的功能,我们只需要获取数据。有没有办法强制 R 在加载 RData 文件时绕过加载命名空间,或者强制它在源端不依赖命名空间的情况下保存文件?谢谢。

要重现,请安装 Shiny。在 Shiny 小程序中创建一些 R 对象并将其作为 RData 文件保存到服务器的文件系统中。将文件复制到未安装 Shiny 或 httpuv 软件包的计算机上。尝试加载 RData 文件,即使您保存的实际对象完全是与 Shiny 或 httpuv 无关的普通 data.frames。

I did strings在 RData 上,该死的东西充满了对 httpuv 的引用。软件正在加载文件,然后在内部主动决定不再继续loadFromConn2()功能。因此必须有一种方法让它停止这样做。


确实,@baptiste 应该因其评论中对一些通用解决方案的链接而受到赞扬,尤其是R CMD INSTALL --fake技巧,如果他将其重新发布为答案,我会接受。这就是为什么我不接受我自己对导致我的情况的具体问题的以下答案,但我发布我的答案以防它对其他人有帮助。

我保存的一些对象是lm已安装的对象。这些包含公式/术语对象(出于某种原因,每个至少两个......也许是因为它们已经通过stepAIC),而这些公式又各自具有环境属性。环境属性为.GlobalEnv它可能确实在某个地方包含包函数的副本。当我挖掘拟合模型内的对象,然后挖掘这些对象的所有属性内的对象,然后挖掘这些对象的属性的属性内的对象时......并将我能找到的每个环境属性设置为 NULL,最终,我能够将该拟合模型保存到一个文件中,该文件可以从不同的 R 安装中打开,而不会收到有关无法加载命名空间的错误。

我想我还可以编写一个函数来迭代拟合模型中的对象及其属性,并删除环境,但这听起来丑陋且危险。也许有一种方法可以强制公式和拟合模型不保留环境,这样会更好。目前,我不会保存拟合模型,而是在清理可能在那里找到的任何环境属性后保存它们的调用属性。如果这不起作用,我会将它们解析为字符串。

PS:我使用的是RDS格式,尚未使用RData进行测试,但我怀疑问题在于某些属性中评估环境的保存,与保存对象的格式无关。如果事实证明这不适用于 RData,我将发布更新。

PPS:我怀疑我不是这里唯一听说这件事的人R CMD INSTALL --fake这是第一次,也许应该传播这个消息......因为在其他 R 用户不知道的情况下,这仍然是针对 R 的拒绝服务攻击的明显向量!


我会接受我自己的答案以摆脱 SO 自动胡言乱语,但如果他们使我可以通过将其发布为答案来这样做,我将不接受它并接受@baptiste。谢谢。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在绕过加载命名空间的同时加载 RData 文件吗? 的相关文章

  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • R 中的转换会导致文档错误

    每当我运行此代码时 tm map 行都会给我警告消息 警告信息 在 tm map SimpleCorpus docs toSpace 中 转换删除文档 texts lt read csv Data fast food Domino s Do
  • R:如何根据规范更改数据框中的列名称

    我有一个数据框 它的开头如下 SM H1455 SM V1456 SM K1457 SM X1461 SM K1462 ENSG00000000419 8 290 270 314 364 240 ENSG00000000457 8 252
  • 使用 R 从字符串中提取函数参数

    最好使用stringr包 我想创建一个函数extract 以字符串向量作为参数 vec lt c div span icon hospital user i18n t Enrolments or i18n t Paper a string
  • 建模前减少因子水平数量

    我有一个 2600 个级别的因子 我想在建模之前将其减少到 10 我想我可以通过这样的操作来做到这一点 如果一个因素列出的次数少于 x 次 则应将其放入名为 其他 的存储桶中 这是一些示例数据 df lt data frame colour
  • 在 Shiny 应用程序中过滤数据时,长度为 1 的字符向量除了第一个元素之外的所有元素都将被忽略错误

    我有以下闪亮的应用程序 library shiny library rhandsontable library shinydashboard library ggplot2 library dplyr setwd C Users Marc
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • 将 CCtray 与 Jenkins 结合使用,同时启用安全性(使用 HTTPS)

    我将 Jenkins 服务器配置为仅使用 HTTPS 并启用安全性 我也不喜欢任何未登录的人查看仪表板 即使它是空的 在这里 我禁用了 匿名 的 读取 访问权限 到目前为止 所有这些都完全符合我的喜好 但想要通过例如向远程客户端添加一些构建
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件
  • 具有动态变量数的公式

    假设有一些 data framefoo data frame想要找到目标列的回归Y由其他一些专栏 为此目的 通常使用一些公式和模型 例如 linear model lt lm Y FACTOR NAME 1 FACTOR NAME 2 fo
  • 在数据库中存储密码的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用滑动窗口动画 ggplot 时间序列图

    我正在寻找在不失去分辨率的情况下对长时间序列图进行动画处理的方法 我希望视图能够 平移 数据 显示从开始到结束的滑动子集 假设我有以下内容 library ggplot2 library dplyr library gganimate df
  • 从向量中删除元素在 R 中出现的时间量

    我想从一个向量中删除元素在另一个向量中出现的时间 就像我要减去它们一样 鉴于我想要删除的元素向量中的每个元素也存在于我想要从中删除的主向量中 a lt c A B B C C C b lt c A B C C a a in b return
  • R:根据元素长度从向量中删除元素

    如何根据字符串的字符数或长度从字符串向量中删除元素 df lt c asdf fweafewwf af aewfawefwef awefWEfawefawef gt df 1 asdf fweafewwf af aewfawefwef aw
  • R texreg:如何选择要显示的 gof 统计信息?

    我正在使用 texreg 通过 plm 生成面板回归的输出表 我想抑制所有 gof 统计数据的输出 这不是显示 R2 adj R2 和 N 我只想显示 adj R2 有谁知道一个简单的方法来做到这一点 好吧 这实际上很简单 只需在调用中包含
  • R:如何找到向量的模式[重复]

    这个问题在这里已经有答案了 下面是我的data frame我想知道每个内存类别 1 到 8 的模式是什么 gt dput d structure list MEMORY1 c 5 5 7 1 5 6 4 5 4 5 5 4 1 5 5 2
  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹

随机推荐