Nalsi的R笔记:RMarkdown

本人PhD的第二学期结束了。这学期上了一门统计的入门课,中间的过程颇为曲折,暂且不提。不过期末作业是用学到的统计方法分析一个数据集,并且写出一篇报告。因为本人最近对于数字人文学的兴趣,所以我选择了美国现代艺术博物馆(MoMA)在Github上发布的馆藏元数据,分析了西方绘画在19世纪末到21世纪初之间尺寸的变化。

因为这门课虽然课程安排上写的工具是SPSS,但是两位老师都很认同现在R在数据分析上的地位,所以也很鼓励我们用R完成全部的作业——所以我也就用R上完了这门课。并且经一位同学(他是一位很有经验的数据科学家)的提醒,第一次用RMarkdown这个插件包(package)完成了我的期末报告。

Markdown,根据Wikipedia的介绍,是一种轻量级的文本标记语言。但是它应用最广的领域是学术写作——尤其是定量研究的学术写作。(Latex是另一种这个领域常用的格式。)

R,作为一个目前在数据科学和数据分析领域应用最广的软件,显然应该有支持这种语言的插件包。以及因为接入了R的平台,这个插件包能够完美的在Markdown文本中插入R的代码和/或R产生的可视化图表。(作为比较,这就比苦逼的截图要容易而且优雅太多了。)

Markdown文本中每一段R的代码称之为一个Knitr chunk。在这个插件包本身的层面,你可以对这个chunk做多种功能的选择:比如选择这个chunk在文本中显示的大小、只显示代码的效果(可视化或者分析结果)、只显示代码本身、不显示所有的信息(比如错误信息或者警告信息),等等。如果你用的R编辑器是RStudio(强烈推荐)的话,那么在RStudio里面你也可以单独显示这段代码产生的结果,这让在文本中插入结果的功能变的非常容易,虽然我个人觉得没办法看到结果在文本的语境下的样子——尤其是文本中的尺寸——显然是一个值得改进的地方。

最后,作为一种常用的格式,它可以被很容易的转换成其他格式,比如Word、幻灯片、PDF、Latex、和HTML。(绝大多数格式都只需要你在这个文件的header的部分稍微改动一下就可以了。而且RStudio自带把rmd文件转换成Word、PDF和HTML的按钮。)

要想了解更多RMarkdown的功能,可以参考RMarkdown的官方文档

关于过程和结果,以及知乎专栏

之前承蒙常薇(longway)同学的盛情和牵线,我得以加入她之前维护的知乎专栏“图·情”,第一次开始我的知乎专栏作者的写作。这篇文章本来是想发在上面的。但是后来觉得这篇文章的内容对于知乎专栏来说太“硬”了,所以改变主意,决定发在这里。不过仍然敬请各位关注我们的这个专栏。

————————

本人有幸和国内的图书馆员们展开过一些关于图书馆的对话。在这个过程里让我印象很深刻的一件事就是,我经常能听到诸如“图书馆应该怎样怎样做么”或者“图书馆这样这样做是对的么”这样直接指向某个具体答案的问题。比如,微博上之前本人也曾参与过的关于图书馆里哪些属于不文明行为的讨论

我觉得这些讨论并不是没有意义的,但有问题的是讨论的方式,或者在讨论之前提出问题的方式。很多这些问题的措辞以及回答似乎都在暗示,这些问题有且只有一个正确答案,而且是放之四海而皆准的答案。但对我而言,就像图书馆事业不是一门科学一样,这件事显然也没有这么简单。

在近年来席卷美国的“新图书馆事业”的风潮中,专业图书馆员对于图书馆看法最重要的改变之一就是,图书馆事业如果有一个最重要的因素,那就是图书馆的用户社区。图书馆服务的开发和资源的选择都应该不仅仅是充分考虑到图书馆的用户的需求,而是尽可能的把用户引入到决策过程中。比如说,图书馆如果要制定图书馆里面是否应该允许吃东西的政策,那么重要的并不是图书馆员(或者图书馆馆长)的看法——显然,这些专业人士的看法并不是没有价值的——而是图书馆员是否能够和用户展开积极、有建设性的对话,让彼此听到各自的声音,并且根据这些对话,采用尽可能符合科学的方法,构建出一个符合各方最大利益的决定来。

这个过程并不容易,因为显然我们的用户对于图书馆及其服务的看法千差万别:有认为图书馆里面应该允许吃东西的用户,就一定有反对这种看法的用户。所以与其说这是“政治性”的问题,其实对我而言,这或许更多是技术面的问题——在这个问题上,图书馆员需要掌握关于用户研究和用户服务的技术:比如如何收集到用户全面或者至少是有代表性的看法,我们怎么知道他们说的是不是是他们真的想要的,以及如何让用户愿意去表达他们的看法,等等。对我来说,这是专业的而且面向实践的图书馆学教育需要解决的问题,也是国内图书馆事业在很大程度上所欠缺的。但是使用了符合科学原则的方法,这个问题的解决其实并不算难。

把对话当作是制定图书馆政策的基础,也意味着我们长期以来一直秉持着的图书馆中存在某种普遍的、正确的答案的看法其实是有问题的。因为不同的专业图书馆员和有不同需求的社区,在不同的对话中,是一定会产生对同一个问题的不同解答的。我们显然不可能用答案本身来评判答案——一个图书馆制定的政策哪怕和其他图书馆都不一样,也不一定就说明这个政策是更糟糕的或者更好的。根据上文,一个很重要的评判标准就是问题在图书馆中是如何得到解答的,它的解答是否经过了充分的对话,并且建立在足够坚实的社区的声音之上。

但除此之外,另外一个(或许是更)重要的评判标准是,这个决定在实践中的效果如何。归根结底,图书馆事业是一种实践——理论的唯一重要性只在于它对实践的指导意义。关于图书馆的一切理论和看法,以及图书馆员所做的实践本身,都只能依靠这些实践产生的结果(outcome)来评判——对于图书馆产生的结果的评判,当然也是图书馆员需要具备的另一种重要技术。

在这个意义上,我真心希望我们的图书馆工作人员们能够少问些该怎么做,而多去认识和了解用户,多去思考一件事要如何做,并且多在图书馆内外发出自己的声音,这些都是我们能够更有效的提供服务的第一步。

加拿大图书馆对LC分类法的扩展(一):PS8000--加拿大文学

前文书说到最近本人开始做到了一个加拿大的客户,结果之一就是开始用到了很多加拿大图书馆的本地编目规则,比如加拿大对LC分类法的几个扩展。之后希望有机会能够陆续介绍,但是今天要提到的是其中的一个扩展:PS8000,也就是对加拿大文学的扩展表(这个表的PDF文件在此)。

根据这个文档的说明,PS8000是1964年被开发的,1978年发表了第二版,现在我们见到的文本是2003年出版的第三版。它用于聚合散布在LC分类法中所有的加拿大文学,包括PR9190 – PR9199.3(加拿大英国文学)、PQ3900 – PQ3919.3(加拿大法国文学)、以及加拿大作家其他语种和文类的作品。

PS8000的结构遵循了LC分类法的基本结构,包括概述(8001-8227)、文学批评(8041-8227)、文集(8231-8379)、单个作家(8400-8649)四大部分。

比较值得注意的是,因为加拿大使用英、法双语,所以如何处理英文作品和法文作品的关系是这个分类法很重要的一个问题。官方文档的解决方案是使用单双数结尾来表示不同语种的作品。不过这个文档中也提到,并不是所有的加拿大图书馆都遵循这种做法。很多图书馆都交替使用8000/9000的类别来表示英文和法文的作家/作品。比如我们的客户阿尔伯塔大学图书馆就把所有的法文作家都放在了9000(在结构上仍然遵循前面的一般结构,只是把法文作家的分类号增加1000)。不过在实践中,仍然有很多问题,比如如何定义法文作家,或者双语作家的处理等等。除此之外,这个文档也提到如何定义“加拿大作家”的问题也并不是毫无疑问的(比如是按照国别还是族裔)。

在MARC数据中,所有加拿大分类法的扩展都会使用055字段。

编目笔记:关于issue图书出版时间的笔记

重新成为编目员已经四个月有余,总的来说做的多想的少,工作中接触到了许多东西的皮毛,但是缺乏充分的思考。

最近我们公司开始一个新的加拿大的账号在某种意义上改变了这种状况。这个公司购买了许多paperback reissue的图书(很多是Routledge公司出版的)。这种书的出版时间人们有各种各样的做法,之前在国内当编目员的时候,这种书的出版时间就严重困扰着我,今天就和同事们有了一些有趣的对话,并且强迫着我做了一些功课。

首先AACR2有很明确的关于issue的定义:

Copies of an edition forming a distinct group that are distinguished from other copies of that edition by minor but well-defined variations (e.g., a new impression of a book for which minor revisions have been incorporated into the original type image).

另外,AACR2这样定义了reprint:

1. A new printing of an item made from the original type image, commonly by photographic methods. The reprint may reproduce the original exactly (an impression (q.v.)) or it may contain minor but well-defined variations (an issue (q.v.)). 2. A new edition with substantially unchanged text.

综上所述,在AACR2中,如果不涉及格式改变的issue和reissue,按照道理其实是应该作为同一个版本(同一条数据)来处理的。

在RDA的词汇表里面,issue只有一个意思:

One of the successive parts of a serial.

(而在RDA中搜索issue,找到的内容绝大多数都和连续出版物有关。)

RDA 2.6.5.3里面作出了如下的规定:

If the source of information has a statement indicating a revision of an edition (e.g., a named reissue of a particular edition containing changes from that edition), record that statement. Apply the instructions on recording designations of edition.

Do not record statements relating to a reissue of an edition that contains no changes unless the resource is considered to be of particular importance to the agency preparing the description.

所以看起来,即便根据RDA,issue和reissue仍然在很大程度上应当被视作一个旧有的版本。(而根据J.4.2,reissue内容所依据的内容表达毫无疑问的是同一个内容表达的复制。)