通过附加到新环境来检查 .rdata 文件的内容 - 可能吗?

2024-02-12

我感兴趣的是在 RDATA 文件中列出对象并仅加载选定的对象,而不是整个集合(以防某些对象可能很大或可能已存在于环境中)。我不太清楚当名称存在冲突时如何做到这一点,因为attach()效果不太好。

1:用于检查 R 数据文件的内容而不加载它:这个问题类似于,但不同于,在列出 R 数据文件的内容而不加载 https://stackoverflow.com/questions/4831050/listing-contents-of-an-r-data-file-without-loading

在这种情况下,提供的解决方案是:

attach(filename)
ls(pos = 2)
detach()

如果文件中的对象与全局环境中的对象之间存在命名冲突,则会出现此警告:The following object(s) are masked _by_ '.GlobalEnv':

我尝试创造一个新环境,但我似乎无法融入其中。 例如,这会产生相同的错误:

lsfile   <- function(filename){
  tmpEnv <- new.env()
  evalq(attach(filename), envir = tmpEnv)
  tmpls <- ls(pos = 2)
  detach()
  return(tmpls)
}
lsfile(filename)

也许我把事情搞砸了evalq (or eval)。还有其他方法可以避免命名冲突吗?

2:如果我想访问一个对象 - 如果没有命名冲突,我可以只使用 .rdat 文件中的对象,或者将其复制到新对象。如果存在冲突,如何访问文件名称空间中的对象?

例如,如果我的文件是“sample.rdat”,对象是surveyData,并且全局环境中已经存在一个surveyData对象,那么我如何从file:sample.rdat命名空间?

我目前通过将所有内容加载到临时环境中来解决这个问题,然后复制出需要的内容,但这效率很低。


由于这个问题刚刚被引用,让我们澄清两件事:

  1. attach()只需调用load()所以使用它来代替确实没有意义load

  2. 如果您想要选择性访问以防止屏蔽,只需将文件加载到新环境中会更容易:

    e = local({load("foo.RData"); environment()})
    

    然后您可以使用ls(e)并访问类似内容e$x。您仍然可以使用attach如果您确实希望它出现在搜索路径上,则在环境中。

FWIW .RData 文件没有索引(对象存储在一个大的对列表中),因此您无法在不加载的情况下列出所包含的对象。如果您想要方便访问,请将其转换为延迟加载格式,而不是简单地添加索引,以便每个对象可以单独加载(请参阅从 Rdata 文件中获取特定对象 https://stackoverflow.com/questions/8700619/get-specific-object-from-rdata-file)

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

通过附加到新环境来检查 .rdata 文件的内容 - 可能吗? 的相关文章

  • 如何在 R 树形图中省略标签?

    我一直在使用R 树形图包 http cran r project org web packages treemap treemap pdf我有一个 2 层深的树形图 我希望打印第二级标签 但不打印第一级标签 使用手册页中的示例 tmPlot
  • 如何在R中绘制仪表图表?

    如何在 R 中绘制以下图 Red 30 Yellow 40 Green 30 Needle at 52 所以这里有一个完整的ggplot解决方案 注意 从原始帖子中编辑 在仪表中断处添加数字指示器和标签 这似乎是OP在评论中所要求的 如果不
  • 合并具有一个共同元素的集合 R

    我有一个这样的列表 lista list lista 1 c 1 2 4 6 8 9 10 11 12 19 32 34 35 36 37 38 lista 2 c 7 8 lista 3 c 13 14 16 26 27 28 29 30
  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参
  • dmvnorm MVN 密度 - RcppArmadillo 实现比 R 包慢,包括一些 Fortran

    The solution现已上线RCPP画廊 http gallery rcpp org articles dmvnorm arma 我从 RcppArmadillo 中的 mvtnorm 包重新实现了 dmvnorm 我有点喜欢犰狳 但我
  • r caret 包中的 train 函数的模型输出尺寸巨大

    我正在使用 bagFDA 模型进行训练train r caret 包中的函数 并将模型输出保存为 Rdata 文件 输入文件大约有 300k 条记录 有 26 个变量 但输出 Rdata 大小为 3G 我只是运行以下命令 modelout
  • mclapply 调用应该嵌套吗?

    正在筑巢parallel mclapply是个好主意吗 require parallel ans lt mclapply 1 3 function x mclapply 1 3 function y y x unlist ans Outpu
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 根据另一个向量替换向量中的值

    我想替换向量中的值 x 与另一个向量 y 陷阱 22 方法需要是动态的 以适应向量中不同数量的 级别 x 例如 考虑向量x x lt sample c 1 2 3 4 5 100 replace TRUE gt x 1 2 4 1 1 3
  • 使用 purrr::map() 更改和分配新变量名称

    我刚刚开始掌握编写函数并使用 lapply purrr map 使我的代码更加简洁 但显然还没有完全理解它 在我当前的示例中 我想重命名 lm robust 对象的系数名称 然后更改 lm robust 对象以合并新名称 我目前这样做 li
  • 列槽不足

    当尝试为 data table 中的每个变量 108 个变量 创建 12 个滞后时 我收到一条错误 指出列槽不足 此操作应创建大约 1200 个变量或列 Data A as data table Datos A Varnames names
  • lmer(来自 R 包 lme4)如何计算对数似然?

    我试图理解 lmer 函数 我发现了很多关于如何使用该命令的信息 但关于它实际执行的操作的信息却很少 除了这里的一些神秘注释 http www bioconductor org help course materials 2008 PHSI
  • Plotly 绘图不会在 RMarkdown 文档的 for 循环内渲染

    我正在尝试动态构建一个需要运行循环的报告 并为每次迭代打印一些消息 表格和绘图 我可以让一切正常运转except为了情节 示例 rmd r echo FALSE results asis fig keep all message FALSE
  • 修复 ggplot 中构面中的数据顺序

    我在使用 ggplot 绘制数据时遇到问题 我无法使每个方面内的数据正确排序 我的样本数据是 data lt structure list Parameter c 0 1 0 7 0 0 0 2 0 2 0 7 0 0 0 1 0 3 0
  • 在嵌套 tibbles 上应用 ntile

    我正在尝试申请ntile在一些嵌套的小标题上 但我似乎无法让它工作 你能看出我错在哪里吗 data iris iris gt group by Species gt mutate quintile ntile Petal Length 5
  • 获取所有矩阵列逐元素乘积对的快速方法

    假设我有一个数字matrix set seed 1 mat lt matrix rnorm 1000 ncol 100 我想生成所有向量 它们是中所有唯一向量对的逐元素乘积的结果mat 我们如何改进下面的代码 all pairs lt t
  • 分组和计数以获得接近值

    我想计算每country的次数status is open以及次数status is closed 然后计算closerate per country Data customer lt c 1 2 3 4 5 6 7 8 9 country
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 在 R Shiny 中,如何使用可排序 js 将其在列表中出现的顺序次数附加到每个列表元素?

    下面的可重现代码适用于将元素从一个面板拖动到另一个面板 并在 拖动到 面板中自动使用 HTML CSS 对拖入的每个元素进行排名顺序编号 但是 我现在尝试附加到每个 拖动到 列表元素的末尾 使用某种形式的paste0 我假设 该元素在 拖至

随机推荐

  • 动态添加带有或不带有元类的方法

    更新 2012 12 13 只是为了澄清 我对如何向类添加方法不太感兴趣 正如您在下面我的问题和人们的回答中看到的那样 有不止一种方法可以做到这一点 开玩笑和帽子提示我的 Perl 自我 我感兴趣的是了解使用不同方法向类添加方法的根本区别是
  • 无缓冲的 Bash 输出

    我有一个 bash 脚本 我试图用它来编写无缓冲的输出 我有这样的事情 mkfifo PIPE for SERVER in SERVERS do ssh SERVER command gt PIPE done while read LINE
  • 获取 C# 中命名空间中的类列表[重复]

    这个问题在这里已经有答案了 我需要以编程方式获得List给定命名空间中的所有类 我怎样才能在 C 中实现这个 反射 var theList Assembly GetExecutingAssembly GetTypes Where t gt
  • Firebase - set() 而不是 update() 的良好用例

    我正在使用 Firebase 的应用程序中构建创建 更新和删除操作 关于这个答案 https stackoverflow com a 38924648 4691187关于之间的区别的问题set and update jmk2142 建议在
  • 输入超过文件末尾的VBA excel

    我正在尝试使用以下宏读取文本文件 这些文件是由外部程序生成的 无法调整 While Not EOF int current file Line Input int current file buf If Left buf 1 lt gt T
  • VBProjectsEvents 在哪里?

    Using Microsoft Vbe Interop在 C 中 我可以访问CommandBarEvents and ReferencesEvents via VBE Events 然而 总是那么有帮助MSDN https msdn mic
  • Sass 无法工作并且无法在 macOS Catalina 上安装 ruby​​-sass

    升级到 macOS Catalina beta 后 Ruby sass 无法工作 当我跑步时sudo gem install sass 我收到错误 ERROR Error installing sass ERROR Failed to bu
  • 如何在每“X”个帖子后显示其他内容(例如广告)

    我有 WordPress 网站 我想在其中实施 Adsense 广告 我每页有 30 个帖子 所以我想在每 7 个帖子后展示广告 我该怎么做 目前我正在使用此方法在 10 个帖子中投放 3 个广告 并且在 10 个帖子之后没有广告显示
  • 强制在 Microsoft 混合系统上使用集成(Intel)显卡

    我使用 Microsoft 桌面复制 API 如果我的代码在集成 英特尔 显卡上运行 则一切正常 但如果我在专用卡上运行 则会出现错误 我找到微软不支持这种用法 https support microsoft com en my help
  • 计算多部分表单帖子的内容长度

    我正在尝试上传文件而不将其加载到内存中 如下所示 像 S3 这样的服务需要Content Length在这种情况下设置 是否有内置的 go lang 可以做到这一点 或者我必须自己计算它 package main import io mim
  • 即使 java gradle 工具链设置为 jdk 11,Gradle 仍使用 Java 1.8 构建 android 项目

    FAILURE Build failed with an exception Where Build file bitrise src app build gradle line 1 What went wrong A problem oc
  • 调用 Java Web Service 时,C# 响应对象包含 null

    我已收到以下 wsdl 我使用 wsdl exe 生成了 C 代理 并创建了我的 C 网页 我使用 Fiddler 查看了 SOAP 响应 它包含数据 有关需要进行哪些修改才能使 C 程序接受 SOAP 响应的任何指导 请原谅 wsdl 的
  • 有 Android 开发人员成功从 Web 服务接收分块传输协议吗?

    我一直在努力尝试几个类实现来检索分块数据 但没有成功 以下是存在问题的简化代码模块 在网上冲浪后 似乎过去曾出现过问题 2009 2010 版本1 1 1 5 但现在应该已经解决了 我还没有看到该协议在 Android 平台上取得任何明确的
  • SQLiteOpenHelper 与 ContentProvider

    我是 Android 开发新手 我正在尝试创建一个从内部数据库 SQLite 读取并列出列表中的所有数据的应用程序 我正在使用listView 到目前为止我有一门叫做DatabaseHandler延伸SQLiteOpenHelper这就是执
  • 如何对D3js进行月/日本地化?

    我正在寻找一种在 D3 上进行本地化的方法 我已经找到了价值观 d3 time days Sunday Monday Tuesday Wednesday Thursday Friday Saturday d3 time dayAbbrevi
  • 请求:https://www.w3.org/2000/svg 找到:http://www.w3.org/2000/svg [重复]

    这个问题在这里已经有答案了 我们使用 Apache Batik 来渲染 SVG 文件 出于安全原因 所有 URL 均转换为 HTTP 现在 当我们渲染 SVG 文件时 我们遇到了这个问题 原始 SVG 是 svg xmlns http ww
  • Jackson - 将 JSON 反序列化为类

    我正在调用一个返回 JSON 的端点 看起来像这样 在 Postman 中 Result attribute1 attribute2 该请求返回的Content Type标头是text x json 与通常的application json
  • Sonata admin - 相关表中的“排序依据”字段

    我有一个产品管理课程 产品实体与类别实体具有多对一关系 即产品与类别相关联 在产品的管理 列表 页面中 我需要按每个产品关联的类别名称 按字母顺序 排序 如果字段位于实体本身上 则设置默认排序依据字段很容易 请参阅索纳塔管理员捆绑订单 ht
  • Retrofit中如何设置最大网络连接数

    我正在查看一些 AQuery 代码here https stackoverflow com questions 20488302 aquery android query how to load images actually发现有一种方法
  • 通过附加到新环境来检查 .rdata 文件的内容 - 可能吗?

    我感兴趣的是在 RDATA 文件中列出对象并仅加载选定的对象 而不是整个集合 以防某些对象可能很大或可能已存在于环境中 我不太清楚当名称存在冲突时如何做到这一点 因为attach 效果不太好 1 用于检查 R 数据文件的内容而不加载它 这个