从分析任务到接口

1976年5月5日,John M. Chambers等人举行首次设计会议,展示初步软件。此前,使用统计程序库要另写Fortran程序处理数据、计算和输出;改变分析方案还常需程序员改写。团队希望让分析者直接表达计算要求。

当日设计图以XABC衔接用户请求和算法ABC,把请求及结果表示为对象。Chambers说,细节最初尚不清晰,这一构想与随后几年的实现大致一致。设计还要能加入新的统计方法。

参考:[1]

团队与内部使用

春季讨论者有Chambers、Richard A. Becker、Doug Dunn、Paul Tukey及来访的Graham Wilkinson。Becker、Chambers、Dunn与Jean McRae、Judy Schilling承担最初实现,使用新泽西州默里希尔贝尔实验室运行GCOS的Honeywell 645。

1976年7月,团队采用S之名。到1977年1月,1.0版手册已有三十页函数说明;默里希尔的GCOS用户获邀使用,内部用户群开始形成。

参考:[2]

从回归结果继续分析

Honeywell初始实现于1976年末投入使用。以下程序见于Becker与Chambers1984年发表、1985年重印的论文,不应当作1976年初版代码。

例中longley.x为预测变量矩阵,longley.y为响应变量。“r ← regress(longley.x, longley.y)$resid”计算回归,取出残差并存为r;“r[abs(r) > median(abs(r))]”再筛出绝对值大于残差绝对值中位数的残差。回归结果的系数、残差和方法摘要由分层结构容纳,计算结果可以立即用于下一步分析。图形输入也用于从图中识别值得追查的特征,参与分析而非只生成报告。

参考:[3]

对外分发与出版

Becker记载,S在1980年首次向外部分发,1981年较广提供源码;1984年出版用户手册,1985年出版扩展指南。

参考:[2]

后续影响的边界

1988年,R. W. Oldford与S. C. Peters介绍DINDE时,明确承认其设计深受S影响并借用其想法。

John Fox对R项目的研究则指出,R后来才把大致重现S的功能与相近语法作为目标之一。S程序库可以移植,熟悉S的统计人员构成潜在用户;这不等于R从一开始便以完全复制S为目标。

参考:[4] [5]