关于句点的那些事

R 防御式编程

Dr. Colin Gillespie

Jumping Rivers

句点的作用

在 R 中,句点(full stop)有特殊含义

  • 它用于 S3 面向对象机制
  • 当您调用 summary() 函数时
    • R 会查找函数 summary.class_name
R 防御式编程

示例:summary() 函数

当您运行

m <- lm(mpg ~ disp, data = mtcars)
class(m)
#[1] "lm"
R 防御式编程

示例:summary() 函数

因此当您调用

summary(m)

实际调用的是

summary.lm(m)

这里的关键点是:句点非常重要

R 防御式编程

一条建议

  • 很少有 R 规则能获得一致认可
  • 所有人都同意:变量名中应避免使用 .
  • 这样可避免混淆
R 防御式编程

最后一点

R 防御式编程

Preparing Video For Download...