两位posit::conf(2023)发言人 JP Flores 和 Sarah Parker 几周前联系我,希望接受一次采访。以下是问题清单和我的回答,仅供记录。我不会亲自参加会议,但会议期间我可能会潜伏在 Discord 服务器上。
您是如何学习 R 的以及为什么继续研究它?
我碰巧写了一篇关于我在 2017 年如何学习 R 的博文!简而言之,我在2004年左右第一次学习R,当时我还是一名本科生,但只学到了一点点。后来,我通过在网络论坛上帮助其他人学到了更多东西,即使我不知道解决方案。
我继续学习 R 并使用 R,因为我对理论统计非常感兴趣,并且我对自己可以查看一些数学方程并键入 R 代码来进行计算这一事实着迷。进入大学之前,我对计算机了解不多。说实话,当时任何在电脑上运行的东西对我来说都像魔法一样。我无法想象我也能写“软件”,因为两年前软件对我来说还是一个新的、困难的东西。后来我读到John Chambers关于S语言的目标:
将想法快速而忠实地转化为软件
我确实感觉到了。
我在 2006 年写的一篇关于伪回归的简短报告就是一个例子,它显示了我对理论统计和模拟的兴趣。当然,最后的 R 代码在 17 年后的我看来并不好看,但我仍然记得当我可以快速编写一些代码来验证一些数学时我是多么兴奋。
后来我爱上了统计图形,这是当时统计专业学生的一个常见选择。你可以看一下我在 2007 年写的另一篇关于可视化的“论文” 。以今天的标准来看,它可能是垃圾,但如果没有这篇垃圾(其中包含了我全部的热情),我就不会开始开发我的第一个 R包,动画。同样,这个包的代码质量相当差,但如果没有第一个包,也许未来 15 年就不会出现接下来的20 多个包。
你介意画一张你是谁的照片吗?
这确实是一个很难的问题。了解你自己……这对我来说就像是一种人生使命。
不管怎样,近年来,我越来越清楚地意识到,我更像是一个创造者,而不是一个消费者。我不仅创建 R 包,还喜欢创建其他东西。一个很好的例子是我喜欢烹饪。我享受创造食物的过程。相比之下,我对吃没那么感兴趣。我自己的日常饮食非常简单。
我也认为自己是一个观察者,更多的是一个旁观者而不是一个玩家。这意味着我通常更被动而不是主动。我喜欢观察,有时也喜欢记住生活中的小事。我很高兴独自一人。我不介意被别人遗忘。如果他们偶尔想起我,我也很高兴。
你现在最喜欢的歌曲是什么?为什么?
这又是一个很难回答的问题,因为我非常喜欢歌曲。我每天打开音乐播放器大约 15 个小时,并在工作或在电脑上做任何事情时听歌曲。在过去 7 年里,我听了至少 2 万首歌曲,其中迄今为止我最喜欢的有 1343 首。现在不可能选出一个最喜欢的。任何选择都会有严重的偏见。其中大部分都是中文,我的母语。
就风格而言,我不知道为什么,但总的来说,我喜欢表达悲伤和悲伤的歌曲(顺便说一下,悲伤和悲伤是我最喜欢的火影忍者原声带之一,我更喜欢悲伤和悲伤)。齐豫的《这就是生活》和《泪》就是这样的例子。
我可能可以整整一周谈论我最喜欢的歌曲。你最好不要在简短的采访中提出这个话题。
在科学之外和/或周末你最喜欢做的事情是什么?
我想知道我是否曾经“走进科学”。我会将其解释为我的日常工作。业余时间我主要是读书、写作、做饭和打球(羽毛球)。我经常在周六或周日在羽毛球场上呆至少 4 个小时(不间断)。再次强调,请不要让我谈论这些爱好,否则我还需要四个星期。为了弥补这一点,我可以向您展示我在羽毛球比赛中的一个击球技巧。
你最喜欢的食物/吃饭的地方/闲逛的地方是什么?为什么?
我最喜欢的食物曾经是我在中国家乡自制的熏香肠和培根。由于美味和稀缺,它们是我童年时期所渴望的。然而,当我在美国自己成功制作它们后,我的兴趣就变弱了,尤其是自从新冠疫情以来我大大简化了我的饮食(通常我不再吃肉了,尽管我仍然喜欢吃肉)。每年冬天我仍然抽香肠和培根,但我把大部分都送给像过去的我一样喜欢吃的朋友。现在我喜欢简单的食物,比如以任何方式烹制的土豆和豆类。我仍然喜欢辛辣的食物(如果可能的话,烧热的)。我对各种坚果也有点上瘾。
我现在很少在外面吃饭,所以我没有最喜欢吃饭的地方。
我喜欢和几个同样擅长烹饪的朋友一起出去玩。通常我们要么去户外(例如,奥马哈动物园、湖泊和公园等)锻炼身体,让我们的孩子疲惫不堪,要么去别人家吃美味的自制饭菜。有时我们夸口说,每次聚会,奥马哈排名前五的厨师都在这所房子里。
R/Posit 社区的联系非常紧密,这对您有什么好处,它是如何形成的,我们如何保持它?
老实说,我认为我没有资格回答这个问题,因为我似乎没有足够的参与或管理这个社区的经验。作为一个观察者,我很高兴看到人们互相帮助。帮助可以有多种形式,例如回答问题等直接帮助,或者鼓励等间接帮助。就我个人而言,我从这个有用的社区中受益匪浅,因为即使是与我自己的软件包相关的问题,我也没有足够的时间来帮助人们,而且我真的很感谢其他人站出来提供帮助。
我真的不知道这个紧密联系的社区是如何形成的。我的假设1是 R 是一种完全不同的语言(由统计学家开发,为统计学家服务),并且用户可能不是传统的程序员。我不知道“传统程序员”还有多少时间投入到语言战争中,但我猜 R 用户可能不太关心这些战争,而是希望完成工作。 2另一个可能的原因是,由于大多数 R 用户可能不是典型的程序员,他们可以更好地站在初学者的角度思考,这意味着更大的同理心——这是紧密社区的关键。
我们如何保持它?我认为其他人可以提供比我更好的建议,我只是想分享一个可能被忽视的想法:我不认为一个过于紧密的社区是一件好事。换句话说,我们需要小心平衡,这是一门艺术(因此很棘手)。我们当然不希望 R 社区不给其他语言留下空间。一个健康的社区总是需要各种营养。我们在社区内彼此友善固然很好,但如果我们对社区外的人友善且开放,那就更好了。其他人使用看起来不如你甚至不如你的不同工具或语言是可以的。即使你觉得他们会搬起石头砸自己的脚,你也可以坐下来看着他们开枪。
“人类渴望一个善恶能够清晰区分的世界,因为他有一种与生俱来的、无法抑制的欲望,在他理解之前就进行判断。”
——米兰·昆德拉,《小说的艺术》
软件工具的好坏往往也没有那么明显的区别。尽管如此,我承认有时我也有这种“无法抑制的欲望”。