gpt4 book ai didi

r - 在 R 中,函数“print”和 "show"有什么区别?

转载 作者:行者123 更新时间:2023-12-04 16:08:21 24 4
gpt4 key购买 nike

当我读到一本名为《Introduction to Scientific Programming and Simulation Using R》的书时,我对“print”和“show”的用法感到困惑。它说如果你在你的代码中使用“show”函数,那么当你再次调用“source”执行代码时,“show”函数将不起作用。相反,如果您在代码中使用“打印”,那么当您“获取”它时它会正常工作。

我试图找到它的原因,但发现大多数人更关注“猫”和“展示”之间的区别,所以谁能告诉我“展示”和“打印”之间的区别以及在实践中,什么时候应该使用 show 什么时候应该使用另一个?

最佳答案

在 R 中,有两种面向对象的编程框架:简单但未形式化的 S3 框架和复杂但形式化的 S4 框架。在这两个框架中,如果您调用 generic 函数(如 print),实际工作将由另一个函数完成,该函数是专门为您尝试打印的对象类型而设计的。例如,如果调用 print(df),而 df 是一个 data.frame,则实际打印将由函数 print.data.frame 完成。这称为方法分派(dispatch)。如果未找到特定方法,则使用 print.default

基本上,您可以将show 理解为print 对S4 类的概括。 show 查看一个对象,如果它是 S4 类对象,则调用对象签名定义的相应 S4 方法。如果它是 S3 对象,它会调度到相关的 print 方法。

确实show通常不返回值,但是showprint是否返回值取决于具体情况被调用的函数。 base::print...方法都是隐式返回对象,show方法隐式返回NULL,但这是约定而非要求。

关于r - 在 R 中,函数“print”和 "show"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47593642/

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