gpt4 book ai didi

r - "S3 methods"在R中是什么意思?

转载 作者:行者123 更新时间:2023-12-03 04:37:19 26 4
gpt4 key购买 nike

由于我对 R 相当陌生,所以我不知道 S3 方法和对象是什么。我发现有 S3 和 S4 对象系统,有些人建议如果可能的话使用 S3 而不是 S4(请参阅 Google 的 R 风格指南 http://google-styleguide.googlecode.com/svn/trunk/google-r-style.html )*。但是,我不知道 S3 方法/对象的确切定义。

更新:自 2019 年起,Google 的 R 风格指南超链接现为 here .

最佳答案

大部分相关信息可以通过查看?S3?UseMethod找到,但简而言之:

S3是指方法调度的方案。如果您使用 R 一段时间,您会注意到有许多不同类型的 printpredictsummary 方法对象。

在 S3 中,其工作原理是:

  • 设置对象的类利息(例如:a的返回值调用方法 glm 具有类 glm)
  • 提供一种通用的方法名称(例如 print),然后是一个点,然后然后是类名(例如:print.glm)
  • 必须做好一些准备完成此通用名称(print)为了这个工作,但如果你只是为了让自己符合现有的方法名称,你不需要这(请参阅我提到的帮助如果你这样做的话,请尽早)。

对于旁观者来说,尤其是新创建的时髦模型拟合包的用户,能够输入 predict(myfit, type="class") 会更方便> 比 predict.mykindoffit(myfit, type="class")

还有很多内容,但这应该可以帮助您入门。这种基于对象的属性(类)来调度方法的方式有很多缺点(C 纯粹主义者可能会因为害怕而彻夜难眠),但对于很多情况来说,它都可以正常工作。在当前版本的 R 中,已经实现了更新的方法(S4 和引用类),但大多数人仍然(仅)使用 S3。

关于r - "S3 methods"在R中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com