代码之家  ›  专栏  ›  技术社区  ›  J. Mini

为什么$在线性模型的摘要上不部分匹配?

  •  0
  • J. Mini  · 技术社区  · 3 年前

    采取 summary(lm(wt~mpg,data=mtcars))->a . a$r 退货 NULL ,表明没有以开头的变量名称 r 然而,两者 a$residuals a$r.squared 给出有效的输出,与这一前提相矛盾。我对 $ 操作员?我认为它总是部分匹配。

    1 回复  |  直到 3 年前
        1
  •  3
  •   Ben Bolker    3 年前

    里面有线索 ?pmatch (参见 ?$ 顺便说一句)。

    nomatch:在不匹配时返回的值 或乘法部分匹配 位置。

    假使 pmatch 它是 NA_integer_ ,但在以下情况下 $ 我想它是空的(我真的不想在R源代码中深入挖掘来确认)。

    更具体地说 "Indexing by vectors" section of the R language manual

    x$aa 将匹配 x$aabb 如果 x 不包含名为“aa”的组件,“aabb”是唯一一个前缀为“aa“的名称。

    它并没有明确表示否则将返回NULL,但这通常是当没有匹配时得到的结果(例如。 a$junk ).

    在更抽象的层面上,当有多个部分匹配时,很难想出一种不令人惊讶/有原则/没有危险的方法来解决歧义:选择第一个字母顺序的(根据地区等可能不同)?选择数值指数最低的那个?