gpt4 book ai didi

r - 像 R/SAS 这样的统计编程语言被认为是功能性的还是程序性的

转载 作者:行者123 更新时间:2023-12-03 21:37:31 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




看完还是不明白this的区别

所以,与其问函数式编程和过程式编程有什么区别,我想,也许我熟悉的一种语言可以作为一个例子。

因此,我的问题是:R/SAS 语言被认为是程序性的还是功能性的?

最佳答案

R 主要是一种函数式编程语言。它确实有一些异常(exception)情况是通过副作用完成的,因此它的功能不如 Haskell。尽管如此,如果您不愿意调整您的编程风格以使用函数,那么您将很难编写高效的 R 代码。 (我写这个答案的唯一原因是,将 R 称为面向对象的语言会误导那些希望能够以与 Java 相同的方式向数据对象发送函数消息的人。 R 使用对象的类作为“通用”函数的调度选择机制,但这与完整的 OO 语言不同。)

R 有三个、四个或五个主要对象类,具体取决于您如何看待它们和相关的函数类型。仅在其第一个参数的类上分派(dispatch)的原始 S3 函数可能仍然是最常用的,尽管可以在多个参数签名上分派(dispatch)的 S4 类在 BioConductor 世界中被广泛使用。引用类或 R5 或原型(prototype)类对象最类似于真正的面向对象编程数据类型。我在最后一句话中有点含糊,因为我对他们缺乏太多经验。

SAS 主要是一种程序语言。您可以定义函数,但这不是大多数人与 SAS 及其数据集交互的方式,至少一开始是这样。至少 15 年前我使用它时,它并没有真正的对象模型。我认为它的主要优势是对“报告写作”的出色支持。

(数据操作“R 中很难”的评论只是表明缺乏经验。我在 R 中进行数据操作所需的代码量比我的 SAS 同事使用的代码要少得多。如果你开始用 SAS 编程,那么转换会很困难,但我们这些改变了的人通常都坚持使用 R。)

关于r - 像 R/SAS 这样的统计编程语言被认为是功能性的还是程序性的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145524/

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