再见 RStudio/Posit
我刚看了张老师在前面贴的链接https://zhuanlan.zhihu.com/p/626467210,我觉得这篇文章中的数据编程思维好像把数据处理这件事讲得更复杂了,但以我现在的水平也说不清楚什么,只是觉得像是 dplyr 还有 data.table 包中操作数据框,以及表关联、筛选、查询以及其他统计汇总函数等,都跟 SQL 很像。在我的日常工作中,通常都是先在数据库中做一些数据处理的步骤,然后才在 Rstudio Server 里面连接数据库读取数据,做进一步的数据处理。不同的人对不同的工具有自己的偏好是很正常的一件事,表达自己的偏好并不是意在抵制其他,由于 data.table 语法更简洁而且处理大数据效率更高,所以我现在用它,要是将来出现其他更好的包,我猜处理数据的基本逻辑还是会跟 SQL 类似,只不过函数名称会变或者增加新的特点,那么改用新工具也很可以接受。不过也可能因为用 data.table 用熟用透了,选择继续用它。至于 dplyr 中的管道,会使代码变得像 SQL 一样易读,但同时会使得数据处理步骤被拆得太细,效率也不够高,所以我没选它。
zhjx_19 您这段回复把tidyverse换成Excel,跟十年前我与另一个Excel高手对话很相似,在他眼里,VBA扩展性天下无敌,Excel易用性无敌,图形界面无敌。我就算有一千个理由说Excel的问题,要论流行度也是Excel强于我们这里讨论的任一编程语言。而对Tidyverse,其默认美观与数据框的理念确实在给用户做减法,但不是所有人都喜欢基础配色,也不是所有数据结构都是数据框,当然要换也不困难,但用户总有权做选择。真要说替用户做选择,Excel做的更多,Tidyverse也在向类似大而全的家长方向走。很多人不喜欢Tidyverse跟不喜欢Excel是类似的,就是觉得爹味太重。
与之类似的另一个极端就是LaTeX,感觉所有排版问题都可以控制命令解决,强烈鄙视Word党,顺道讽刺markdown功能不全,但从用户角度很可能markdown功能就够了,word的高级功能也能覆盖需求,反而是LaTeX那个学习曲线实在太吓人了。这就好比我去菜市场买白菜,我就要白菜,A给我塞了一个冬季大礼盒,白菜萝卜粉条连猪肉都是五花的,说里面营养全,可是整锅炖菜,B给了我一包白菜种子,说明年这会就能吃上了,还能掌握农业技巧,两边都说为我好,但真正为我好能不能只卖我白菜,别附带价值观大礼包啊。
实话说生产力环境,工具对个人确有优劣,但没必要把个人价值观强加给其他人,替普通用户代言,天天说什么弱爆了或者吊打,很多语境下使用者真的一点都不在乎。Base R在您眼里是时代的一粒沙,Tidyverse亦如是,现在都是ChatGPT说啥就用啥,Ctrl+C战士战无不胜,谁也阻止不了用户的个人喜好。另外,请不要用“管理”用户喜好的思路来推广软件与理念,这本质上与开源精神背道而驰,很多东西对错好坏也没那么清晰,社区意见领袖的作用没您想的那么大,用户也没那么盲目从众。
zhjx_19 仁兄上来一口一个“顽固派”、“抵制“, ”垄断“xx, 浓浓的布道师气息扑面而来, 不能因为写了两本书,钻研和推广了点东西就一股居高临下的语气, 反调不是这么唱的, 心胸得宽广点不是. 不然像在干架而不是在辩理.
开发理念和价值观这东西在开源社区本来就是兼容并包, 社区这么大, 容得下各种想法和流派. 个人和公司发展的不同选择, 也没有你想象中这么大的所谓阻碍, 各种优秀的package依然在推出, 不能说我不用这个就是在抵制这个. 我个人和我司非常优秀的R开发者也没人用tidyverse系列, 但丝毫不影响我们天天高效处理数TB级别的数据以及分析和建模, 工具这东西没啥好执着的, 推崇与不推崇都是个人选择罢了. 不要沉迷并拔高且给其他人扣帽子. 何况益辉已经说了“我看待此事的角度只是理念不同、和平分手,彼此尊重就好了。” 再强扣个人的理念也没啥意思的
zhjx_19 我承认我没忍住,还是逐一回复吧。
我是《R语言编程:基于tidyverse》的作者张敬信,我来唱点反调。
你这不像是唱反调,更像是在歪楼。又自己树靶子,然后叫人来一起打。
zhjx_19 我想,谢益辉如果牵头扛起Quarto的大旗,Posit欢迎还来不及,干嘛要解雇?
但凡你有看Quarto官方开发仓库,你就会发现它采用的技术栈和 @yihui 有不少出入,而且又新的架构师加入了,这又大又复杂的项目,不仅需要技术还需要调动大量资源的权力。为什么要在几乎不可能的基础上做这样的假设?
zhjx_19 你处处跟公司唱反调,那被解雇也是自己的选择而已。
「处处唱反调」是不是急不择言了,即使与 Quarto 理念有不同,也不能说明处处与公司唱反调吧。
zhjx_19 我其实很不理解,谢益辉、包括y叔,还有国外的一些base R顽固派,到底在顽固和抵制什么?
你是不是想把所有用 Base R 的人都当作了靶子,只要看到就想打。有的人愿意用 Base R,有的人愿意用 tidyverse ,我们都尊重好不好?尊重每个人的自主选择性。
zhjx_19 base R上生长出来的tidyverse,就不是R了?
这应该还是你自己树的靶子,我没看见本楼其他/她同志这么说。
zhjx_19 摸着良心说:如果没有tidyverse所引领的(国外)R各科学研究领域蓬勃发展,如今R会没落成什么样(国内的R地位可见一斑)?
摸着良心说,各科学研究领域蓬勃发展不是 tidyverse 所能引领的。科学研究领域不乏 tidyverse 的用户,其中不少只是用了 dplyr 和 ggplot2 包,还有很多是用 Base R 来作图、搞模拟和分析的。
我近距离接触过 R 会的组织者,与其说中国 R 会没落,不如说在顺应环境的变化。这种环境包括市场(AI 风头正劲)和资源(组委会人力、财力)。
zhjx_19 谢益辉开发和发展了R markdown为代表的文档沟通生态,这个生态也是一点点地扩大到很多方面。
我们回到 10 年前来看这个影响力不断变大的事。那时候,knitr 和 rmarkdown 都很年轻,rstudio 公司相当于刚开张,拢共才 7-8 条枪。公司却有 rstudio + rmarkdown + shiny 三条线,而且后来都成功了。可以说,投入很少,产出很高。因此,可以慢工出细活,一点点慢慢地积累。现在,我估计 Posit 研发人员 100+,要大转型,从小而美的烟囱式开发向系统级的解决方案转变,Quarto tidyverse tidymodels 都是这样,而且还要全面拥抱 Python 社区。人力成本很高,没有时间了,1-2 年内如果没有很好的产出,公司就面临转型失败的风险,更别说做大做强了,我觉得这是公司发展阶段和相应战略定位决定的。
zhjx_19 Hadley 开发和发展了tidyverse为代表的数据科学生态,获得统计学领域的最高奖项COPSS奖,以表彰他在统计应用领域做出的卓越贡献,是不是指的他在R语言上的贡献?他的那些包、那些书受到全世界的推崇和赞誉,唯独受到你们的抵制?就没想想是不是自己的想法有问题?
我看到本楼好些人 Base R 和 tidyverse 都有用。你是不是见不得有人继续使用 Base R? 只要有人使用 Base R,就视作一种抵制?
zhjx_19 你的生态扩大就是对的,别人的生态扩大就是垄断?都是对R的巨大贡献,为什么不能兼柔并蓄?
这句话是不是可以同样给你?
zhjx_19 担心RStudio和tidyverse软件臃肿庞大,能大过 Anaconda?
我想 yihui 不会去担心 RStudio 和 tidyverse 软件臃肿庞大,毕竟没啥参与,决策是这两团队的事。Anaconda 我不熟,但我知道这背后的公司同时提供 miniconda,就是你想装多少就装多少,臃肿不在于人家,而在于你的选择。
zhjx_19 作为对比,Python怎么就没有人天天提倡什么base Python,抵制numpy、pandas、sklearn ?人家都是热烈拥抱这些库(甚至作为Python的代名词) ,享受数据科学、机器学习所带来的红利。
Python 和 R 都是类似的,软件本身都只有一些标准库,都需要扩展包来提供独特的功能,R 也从来没有抵制过 tidyverse 呀?你可以都装上。至于说,没有赶上机器学习,特别是深度学习和人工智能的浪潮,我觉得是脚底板带三颗痣的那个人还没出现。RStudio 出品的 torch、keras 和 tensorflow 始终未能形成和 Python 社区并肩的影响力,首先受限于 R 语言社区本身的基数,其二,是效率不够高,借助 reticulate 总感觉不是 native (亲生的),其三,没有 pytorch、keras 和 tensorflow 那样的社区资源和影响力,因为配套的东西比较欠缺,不过, rstudio 最近两年已经开足马力做上下游了。还是那句话,完全不成比例的战斗,红利很难吃上了。
zhjx_19 他们有着高超的R技术和国内尊崇的R地位,也因此他们的观点影响了国内众多的R语言爱好者。他们曾经是国内R语言发展的推动者和先驱,但近些年来是国内R语言发展不折不扣的阻碍者。
谁什么时候在哪里怎么阻碍的?
zhjx_19 关于我,可能给很多人的印象是tidyverse推崇者,其实我是只推崇tidyverse吗?
不是!
我的R书第一章就是从 base R 讲起。
R机器学习包,我为什么不推崇与tidyverse一脉相承的tidymodels,而是推崇mlr3verse?
因为我从来都是因为真的好用而推崇。
tidyverse是专为数据框而生的,就跟 R markdown 是专为文档沟通而生的一样,接受它才能感受到它强大的魅力,而不是一味的抵制。
硬广,鉴定完毕。
- 已编辑
Cloud2016 是,我的很多说法是出于我的猜测,但从常理角度来想应该大差不差。
我想应该不是我一个人有这样的感觉:本论坛是国内最挺base和最抵制tidyverse的R社区。谢的发言经常性的diss Hadley和tidyverse,直接间接引导了这样一种怪异的风气。
你们硬说没有,是我在虚空打靶,我当然也没办法。
Hadley对于R语言来说,就是脚底板有三颗痣的人。近年来,国外R在tidyverse的推动下蓬勃发展,各个领域的tidy包层出不穷,很明显这代表了R语言的发展方向。作为国内顶级的R语言社区,却透着一股诡异的抵制tidyverse的氛围。再看看国内R界半死不活的现状,你们本该借着tidyverse的东风推动国内R语言的发展,却强行割裂base R和tidyverse,有意无意地制造这种对立,有没有从事实上阻碍了国内R语言的发展?
至于我的R书,我不在乎是不是被说为硬广,我问心无愧,自认是在国内凭一己之力推动R语言发展的人。
- 已编辑
zhjx_19 我之前和益辉争论的出发点和你类似。但是益辉其实都回应了(散落在论坛),而且我觉得他的回应非常君子,就我网上和人争论这么多年,我没看过第二个。而且,你如果就事论事看比如他对 Quarto 的评价,我觉得也没什么问题:客观、中立、有信息。
再说回 Tidyverse。其实我同意你,初学者大部分的需求用 Tidyverse 的确更快、更方便。但我的经验里,代价有两个:
如果要深入的话,尤其要往 programming 走,而不只是初级的 data analysis,会有长期的学习成本的问题。我印象中,这方面的知识的书更多是基于 base R 的,那么最终绕不过要学它,要适应两套系统。当然,很多人可能没这个需求。
Tidyverse 的便利背后也是有代价的。就比如上面说的 non-standard evaluation,如果你要用变量名来指称变量,需要面对一系列的补丁,比如
{{}}
和!!
。相比之下,在这点上,base R 就非常直接、易懂。而 Tidyverse 把背后的脏活包裹起来,代价就是绕。
再退一步看,到底哪种体系更好,可能要放到更大的时间尺度上看,现在可能说不清。你没法说 Tidyverse 更流行了,就说未来就是它的。
zhjx_19 很久没上论坛的人也忍不住登录回两句。
其实论坛关于R原生语法和极乐净土孰优孰劣的讨论,从来就没有停止过,也从来没有谁逼着谁去接受哪一派的观点。
你这番观点放在其它任何一个帖子,放在之前之后任何一天说,都是一种常规的讨论,也都是论坛兼容并蓄的一部分。其实我也喜欢极乐净土胜过R原生命令,我这学期还给学生花了三个星期讲tidyverse呢。
但我就戳破这层窗户纸吧。好人做久了,发现也就那么回事。这个群的大佬撑起来的氛围氛围从来都是无私互助,实在是太友善了,于是在心机婊面前显得被动到不行。
你专挑谢大被裁的这个帖子在这个时点对着人家踩上一脚,在大家都出谋划策想着人家未来怎么办的时候污蔑人家助长歪风邪气。说文雅一点是不走心,说直白一点就是吃人血馒头。因为你知道这个时候有流量。不管是盛名还是骂名,你都出圈了。
xiajian。
- 已编辑
Heterogeneity 我在本论坛推荐过我的R书,分享过免费的学习资料,结果呢?只有一个回复。就这,我靠这本论坛出圈?
我就是看到一堆人全是偏袒谢的,忍不住才说,不该神话谢。我从没否认过谢对R的贡献,我不及万一。但是我就是想说国内R这么发展太畸形了,这种风气氛围就是在闭关锁国等死。
- 已编辑
以我所在的行业来讲,多数人统计底子很差,而且数据量多数不大,觉得 tidy 好用就用呗,我前些年也很迷恋,后来读书多了,其中包括 advance R 第一版,我发现了 base 确实很牛逼,没必要非得因为一些原因或者历史问题就使劲踩他吧,如果看深入了,日常工作都可以用他来做,也不丑陋啊,我不觉得用管道有多美,就是因为少打了几行字吗?大可不必这样捧高踩低的,和谐相处有什么不好?你要宣传自己牛逼,何必建立在自己所踩的基础上,而骂着自己基础这不好那不好,我站得高,我多好多好,要点脸吧。一股恶臭的无脑粉丝行为,让人瞬间损失了好感。凭良心说,自己建立了一套逻辑,或者哲学,并付诸实践,hadly 挺牛逼的,非常牛逼,不过一些行为上最好还讲良心,我一个老菜鸟没资格说什么专业上的事情,但我觉得我做人还行,至少要脸,真要牛逼就独立出去,别在人家的基础上还你语法不一致,这那那这的,有劲吗?一些遗留问题是那么好解决的吗,python 不是最终 2 和 3 不是最终彻底分开不兼容了吗,不就是时代发展,有些东西 2 很难一下子解决吗,你这样那样的不好,尤其是经常说的不一致的问题,除了频繁使用的人,经常使用的函数,谁写代码不看帮助文档呐,再说经常用这点不一致有影响吗。独立出去了使劲踩也行啊,毕竟没站在人家身上还嫌弃不够软。
至于上面的那些辩论,有时间再细看,其实英文的争论我看了不少,大牛的争论对自己还是有益的。
至于 ggplot2,我也觉得挺好的,但严格来讲,他就不是 tidy,稍微认真学一段时间 R 都能得出这个结论来,当然我用的少,原因很简单,我更习惯 base 作图语法,我觉得挺好记忆也很方便。
至于 ggplot2,我也觉得挺好的,但严格来讲,他就不是 tidy,稍微认真学一段时间 R 都能得出这个结论来,当然我用的少,原因很简单,我更习惯 base 作图语法,我觉得挺好记忆也很方便。
我同样觉得 tidy 很多功能挺好,用起来是节省很多行代码,但我不想引入太多依赖,这可能是我除了讨厌粉圈恶臭外用的少的另一个原因,这是个人喜好,不能因为我没名气水平菜就说我的代码 low 吧,就说我落伍了吧,我很好的完成工作了,怎么就不行了。base R 消亡了吗,濒临灭绝了吗?那 tidy 还没独立出去呢,皮之不存,毛将焉附,中国人都懂得道理啊,等独立出去再说吧。再说精通 bae,再学 tidy,不跟玩一样。
另外我觉得国内风气挺好的,我不怎么见捧高踩低的行为,偶尔见了,异常恶心,我水平不够又怎么样,码力不够我人品来凑,我骄傲。
我没读完,没想到在这个帖子里,在这个和谐的论坛上有人吵起来了,实话实说,最近放飞自我,说话也不想憋着,我在公共场合比较收敛,现在我坦白了,我就是讨厌那股粉圈的恶臭气息(不知道的可以搜索一下国家去年政治互联网风气的事情),本来这东西就是爱用用,不用滚的事,非要比个高下,辩个明白?还不是好好辩,而是上来就给人扣帽子。
以我所在的行业来讲,多数人统计底子很差,而且数据量多数不大,觉得 tidy 好用就用呗,我前些年也很迷恋,后来读书多了,其中包括 advance R 第一版,我发现了 base 确实很牛逼,没必要非得因为一些原因或者历史问题就使劲踩他吧,如果看的深入了,日常工作都可以用他来做,也不丑陋啊,我不觉得用管道有多美,就是因为少打了几行字吗?大可不必这样捧高踩低的,和谐相处有什么不好?你要宣传自己牛逼,何必建立在自己所踩的基础上,而骂着自己基础这不好那不好,我站得高,我多好多好,要点脸吧。一股恶臭的无脑粉丝行为,让人瞬间损失了好感。凭良心说,自己建立了一套逻辑,或者哲学,并付诸实践,hadly 挺牛逼的,非常牛逼,不过一些行为上最好还讲良心,我一个老菜鸟没资格说什么专业上的事情,但我觉得我做人还行,至少要脸,真要牛逼就独立出去,别在人家的基础上还你语法不一致,这那那这的,有劲吗?一些遗留问题是那么好解决的吗,python 不是最终 2 和 3 不是彻底分开不兼容了吗,不就是时代发展,有些东西 2 很难一下子解决吗,你这样那样的不好,尤其是经常说的不一致的问题,除了频繁使用的人,经常使用的函数,谁写代码不看帮助文档呐,再说经常用的话,这点不一致有影响吗?独立出去了使劲踩也行啊,毕竟没站在人家身上还嫌弃不够软。
至于那些辩论,有时间再看,其实英文的争论我看了不少,大牛的争论对自己还是有益的。
至于 ggplot2,我也觉得挺好的,但严格来讲,他就不是 tidy,稍微认真学一段时间 R 都能得出这个结论来,当然我用的少,原因很简单,我更习惯 base 作图语法,我觉得挺好记忆也很方便。
另外我觉得国内风气挺好的,我不怎么见捧高踩低的行为,偶尔见了,异常恶心,我水平不够又怎么样,码力不够我人品来凑,我骄傲。
- 已编辑
- 已编辑
呀,地球时差问题有时候就是个大问题,我睡了一觉起来,发现这帖子歪楼都不知道歪哪儿去了。辩论归辩论,咱都好好说话,千万别引申到人格方面去。本来我想说近几年在这论坛上我觉得 @flujoo 是我个人最尊敬的“对手”,结果晚了一步被他把话说在前头了。理想情况下,就是我顶楼说的八个字:理念不同,和平分手。当然更理想的情况是:理念不同,照做朋友。当然这个有点可遇不可求。回头我再多写一点我心中更积极正面的想法,这歪楼有我的责任,没有足够慎重把基调定好。后面我会尝试把它掰正。张老师对我的批评我也部分接受,前些年我确实说了些过分的话,实属年少无知、口无遮拦,这是我个人的一大缺点,这个臭毛病不知害了我多少次了,非常抱歉。
崩溃,怎么修改了一下后显示那么多,我重发吧。
以我所在的行业来讲,多数人统计底子很差,而且数据量多数不大,觉得 tidy 好用就用呗,我前些年也很迷恋,后来读书多了,其中包括 advance R 第一版,我发现了 base 确实很牛逼,没必要非得因为一些原因或者历史问题就使劲踩他吧,如果看深入了,日常工作都可以用他来做,也不丑陋啊,我不觉得用管道有多美,就是因为少打了几行字吗?大可不必这样捧高踩低的,和谐相处有什么不好?你要宣传自己牛逼,何必建立在自己所踩的基础上,而骂着自己基础这不好那不好,我站得高,我多好多好,要点脸吧。一股恶臭的无脑粉丝行为,让人瞬间损失了好感。凭良心说,自己建立了一套逻辑,或者哲学,并付诸实践,hadly 挺牛逼的,非常牛逼,不过一些行为上最好还讲良心,我一个老菜鸟没资格说什么专业上的事情,但我觉得我做人还行,至少要脸,真要牛逼就独立出去,别在人家的基础上还你语法不一致,这那那这的,有劲吗?一些遗留问题是那么好解决的吗,python 不是最终 2 和 3 不是最终彻底分开不兼容了吗,不就是时代发展,有些东西 2 很难一下子解决吗,你这样那样的不好,尤其是经常说的不一致的问题,除了频繁使用的人,经常使用的函数,谁写代码不看帮助文档呐,再说经常用这点不一致有影响吗。独立出去了使劲踩也行啊,毕竟没站在人家身上还嫌弃不够软。
至于上面的那些辩论,有时间再细看,其实英文的争论我看了不少,大牛的争论对自己还是有益的。
至于 ggplot2,我也觉得挺好的,但严格来讲,他就不是 tidy,稍微认真学一段时间 R 都能得出这个结论来,当然我用的少,原因很简单,我更习惯 base 作图语法,我觉得挺好记忆也很方便。
至于 ggplot2,我也觉得挺好的,但严格来讲,他就不是 tidy,稍微认真学一段时间 R 都能得出这个结论来,当然我用的少,原因很简单,我更习惯 base 作图语法,我觉得挺好记忆也很方便。
我同样觉得 tidy 很多功能挺好,用起来是节省很多行代码,但我不想引入太多依赖,这可能是我除了讨厌粉圈恶臭外用的少的另一个原因,这是个人喜好,不能因为我没名气水平菜就说我的代码 low 吧,就说我落伍了吧,我很好的完成工作了,怎么就不行了。base R 消亡了吗,濒临灭绝了吗?那 tidy 还没独立出去呢,皮之不存,毛将焉附,中国人都懂得道理啊,等独立出去再说吧。再说精通 bae,再学 tidy,不跟玩一样。
另外我觉得国内风气挺好的,我不怎么见捧高踩低的行为,偶尔见了,异常恶心,我水平不够又怎么样,码力不够我人品来凑,我骄傲。
- 已编辑
fenguoerbian 我的意思是我没依靠所谓的什么前辈,靠自己在做推动国内R发展的事情。我不牛b但在做这件事。很多人牛B但做的是让国内R没落的事。
- 已编辑
lovebluesky 我觉得正常人的想法,应该是这个R包好用,我应该多用和推广它,而不是你牛B了不起啊,咋不独立出去另起一门语言。
你这不就是灵活的ggplot2代表,一边吃奶一边骂娘吗?ggplot2有数据屏蔽,有整洁选择数据框的列,这不是tidy是什么?
再一个不要给我乱扣帽子,我的原则始终是base和tidyverse都是R,在做哪件事上更擅长就建议用哪个。
表面是我在搞tidy与base的对立,实际上是谁在搞二者的对立?
有没有可能:我说谁更好用是真的更好用,这是事实,被我说出来了而已,而你把这当作是拉踩?