如何在 R 中进行内省

2023-12-31

我对 R 有点陌生,我有这段代码生成一个我不知道其类型的变量。 R 中是否有任何自省工具可以告诉我这个变量属于哪种类型?

下图说明了该变量的属性:

我正在研究线性模型选择,我拥有的资源是lm来自另一个模型的结果。现在我想检索lm通过命令summary(model)$call 进行调用,这样我就不需要对模型结构进行硬编码。但是,由于我必须更改数据集,因此我需要对“字符串”进行一些修改,但显然它不是一个简单的字符串。我想知道是否有任何类似于 string.replace 的命令,以便我可以从变量 $call 操作这个变量。

> str<-summary(rdnM)$call
> str
lm(formula = y ~ x1, data = rdndat)
> str[1]
lm()
> str[2]
y ~ x1()
> str[3]
rdndat()
> str[3] <- data
Warning message:
In str[3] <- data :
  number of items to replace is not a multiple of replacement length
> str
lm(formula = y ~ x1, data = c(10, 20, 30, 40))
> str<-summary(rdnM)$call
> str
lm(formula = y ~ x1, data = rdndat)
> str[3] <- 'data'
> str
lm(formula = y ~ x1, data = "data")
> str<-summary(rdnM)$call
> type str
Error: unexpected symbol in "type str"
> 

就内省而言:R 允许您轻松地检查和操作语言对象。
有关更多详细信息,请参阅R语言定义 http://cran.r-project.org/doc/manuals/R-lang.html,特别是第 2 节和第 6 节。例如,在您的情况下,summary(rdnM)$call 是一个“调用”对象。您可以通过索引检索它的各个部分,但是您不能像您尝试那样通过分配索引来构造另一个调用对象。您必须构建一个新的调用。

在您的情况下,您正在从现有调用中构建对 lm() 的更新调用。如果您想在不同的数据上重用公式,您可以通过以下方式从调用对象中提取公式formula(foo$call),像这样:

 foo <- lm(formula = y ~ x1, data = data.frame(y=rnorm(10),x1=rnorm(10)))
 bar <- lm(formula(foo$call), data = data.frame(y=rnorm(10),x1=rnorm(10)))

另一方面,如果您尝试更新公式,您可以使用update():

baz <- update(bar, . ~ . - 1)
baz$call
##>lm(formula = y ~ x1 - 1, data = data.frame(y = rnorm(10), x1 = rnorm(10)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 R 中进行内省 的相关文章

随机推荐

  • 检测鼠标点击 SELECTION Editable ComboBox JavaFX

    这个问题乍一看似乎很简单 但我已经困扰了几天了 所以 我的问题是 当组合框选择打开并且单击鼠标来选择选项时 我想检测鼠标单击和选择 因此 它应该做的是检测所选内容上的鼠标单击并获取所选值 PS 我的 ComboBox 的代码可以在这里看到
  • 在所有视图上访问 Viewbag 属性

    如何访问所有视图中的某些 ViewBag 属性 我想要一些信息 例如当前用户名等 可以随处访问 但不必在项目的每个 ActionResult 方法中专门定义属性 满足您的要求的最佳且直接的方法是创建一个自定义基本控制器并从此基本控制器继承您
  • 更改withProgress()生成的消息框的样式

    The withProgress 函数可以生成一个消息框 指示闪亮的应用程序正在运行 但该消息位于浏览器的右上角 文字尺寸较小 这使得该消息不那么引人注目 所以我想知道有没有什么方法可以改变这个盒子的样式 这样信息就更能表达 您可以使用 C
  • 实体框架:对 EF 中的视图进行查询(C# 代码)返回重复结果

    我正在使用 EF 来查询数据库视图 查询可以返回正确的记录数 但所有记录都是一样的 但是 当我在 sql SSMS 中运行原始查询时 一切都很好 有人可以提供一些关于可能的根本原因的线索吗 视图定义如下 CREATE VIEW dbo v
  • 更改 OpenLayers 地图中的投影

    我想将 EPSG 4326 设置为 OpenLayers 地图的投影 但当我尝试时 我总是得到 EPSG 900913 function init var options projection new OpenLayers Projecti
  • 评估哪种大小的 data.table 比 data.frame 更快

    有人可以帮助我评估使用 data table 的数据框大小的搜索速度更快吗 在我的用例中 数据帧将为 24 000 行和 560 000 行 40 行的块总是被挑选出来以供进一步使用 例子 DF是120行7列 x1到x7 的数据框 stri
  • 无法从集合中获得的最小和

    给定一个正整数集合 S 其元素不需要不同 我需要找到无法从给定集合的任何子集获得的最小非负和 例子 if S 1 1 3 7 我们可以得到0 as S 1 as S 1 2 as S 1 1 3 as S 3 4 as S 1 3 5 as
  • 如何让 JavaFX Web 浏览器显示警报和确认消息

    我的java网络浏览器不显示alert message 并确认 消息 或者 我通常使用 C Web 浏览器组件 它工作得很好 但我对此很陌生 public void openPage String url JFXPanel jfxPanel
  • MySQL按数字系列分组[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚开始学习 MySQL 我遇到了这个问题 我非常需要解决方案或只是逻辑 例如我有这张表 id a 1 1 2 2 3 3 4 5 5
  • C++ - 当向量保存对象时是否调用析构函数?

    如果我在向量内动态分配类的对象 如果我使用clear 是否会调用每个对象的析构函数 动态分配 到底是什么意思 如果您使用vector
  • 自从迁移到 VS 2019 后无法发布

    我最近卸载了 VS 2017 并安装了 VS 2019 当我通过 Web 部署发布网站时 如果失败并显示 2 条错误消息 由于未将对象引用设置到对象实例的错误 无法加载发布证书对话框 我的网站 Ui Web 部署任务失败 使用指定进程 We
  • 从位图创建可绘制对象

    ALL 按照建议here https stackoverflow com questions 23054261 creating iphone like badge notification on android我需要用我的位图制作一个可绘
  • Keycloak NodeJS 适配器忽略 X-Forwarded-Proto

    keycloak连接 https github com keycloak keycloak nodejs connect 哪一个是推荐的 NodeJS 适配器 https www keycloak org docs latest secur
  • React Native 的 Xcode 构建错误“___cxa_increment_exception_refcount”

    尝试在 Xcode 中构建设备时出现以下错误 它在模拟器上运行良好 Xcode 12 5 和 React Native 0 63 3 我尝试过干净的构建 删除并重新安装 Pod 架构arm64的未定义符号 cxa increment exc
  • 尝试安装 Pod 时出现错误“with_in Different_access”

    当我在终端上安装 pod 时 出现了这个问题 cocoapods core 1 7 2 lib cocoapods core source metadata rb 15 ininitialize undefined methodwith i
  • C# 解析时间序列数据

    我从外部 API 获取 JSON 响应 但在尝试反序列化时遇到了一些问题 这是 JSON Time Series Daily 2017 06 01 1 open 70 2400 2 high 70 6100 3 low 69 4510 4
  • Java 中解析命令行参数的代码结构

    我有一个关于代码结构的问题 我已经说了三种类型的包 A B 和 C 现在 包 A 中的类包含包含 main 函数的类 这些课程 需要一些命令行参数才能运行 在包B中 有一些类包含一些公共变量 需要在不同的时间进行配置 例如 在调用函数A之前
  • 在 ListView 中突出显示多个选定/选中/激活的内容

    哇 当涉及到列表项选择时 文档太糟糕了 我所需要的只是能够选择并突出显示列表中的多个项目 我在网上搜索并看到了参考文献android choiceMode multipleChoice http developer android com
  • 尽管复制了加载的图像并销毁了原始图像,但在调用 Image.FromFile 之前,File.Delete 仍失败

    UPDATED 我使用了以下解决方案 从流加载图像 但遇到了新问题 img 对象是绝对正确的 Image 类实例 所有字段都填充了正确的值 但打电话 img Save path to new image bmp 它会导致 GDI 的新异常
  • 如何在 R 中进行内省

    我对 R 有点陌生 我有这段代码生成一个我不知道其类型的变量 R 中是否有任何自省工具可以告诉我这个变量属于哪种类型 下图说明了该变量的属性 我正在研究线性模型选择 我拥有的资源是lm来自另一个模型的结果 现在我想检索lm通过命令summa