r - 为什么 $ 与线性模型的摘要不部分匹配?
问题描述
拿summary(lm(wt~mpg,data=mtcars))->a
。a$r
返回NULL
,表明没有以 . 开头的变量名称r
。然而,两者都a$residuals
给出了a$r.squared
有效的输出,与这个前提相矛盾。我对$
运营商的误解是什么?我认为它总是部分匹配。
解决方案
有一个线索?pmatch
(顺便提及?$
)。
nomatch:在不匹配或乘以部分匹配位置返回的值。
在pmatch
它的情况下NA_integer_
,但在$
我猜它是 NULL 的情况下(我真的不想在 R 源代码的深处进行确认)。
更具体地说,R语言手册的“按向量索引”部分说
x$aa
x$aabb
如果x
不包含名为“aa”的组件并且“aabb”是唯一具有前缀“aa”的名称,则将匹配。
它没有明确说明 NULL 否则会返回,但这通常是在没有匹配项时得到的(例如a$junk
)。
在更抽象的层面上,当有多个部分匹配时,很难想出一种不令人惊讶/有原则/非危险的方法来解决歧义:选择第一个字母顺序的(可能因语言环境等而不同)?选择数字索引最低的那个?
推荐阅读
- python-3.x - 在相似的 pk DataFrame 中制作项目列表
- node.js - 使用 Sequilize 和 async/await 以正确的顺序在 Node.js 中查找/创建记录
- aws-certificate-manager - Amazon Certificate Manager:我的最短可能域名太长
- django - 如何在 Django 2.2/Python 3.5 中基于模型字段定义权限
- time-complexity - 逐个获取元素时自上而下的堆构建
- python - 我可以在一个 while 循环中使用 2 个计数器吗?
- node.js - 从另一个函数调用时不能使用猫鼬查询的结果
- javascript - 如何在全日历中设置外部事件的持续时间
- python - 如何将 3-D Numpy 数组转换为 Pandas Dataframe?
- python - 如何使用 beautifoulsoup 从特定 URL 下载数据并将结果保存为 excel 文件?