游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

作为数据科学家,我并没有选择Python,而是从R到了Jul

  【CSDN编者按】在数据科学中,往往有很多种编程语言可供选择,譬如近些年爆火的Python、应用广泛的R,以及C、Java、JavaScript还有Julia。或许根据不同的应用场景,每种语言都各有优劣。本篇文章中,一位长期耕耘在公共卫生领域的大学教授分享了切身的使用经验,其表示:学习Julia是一项比坚持使用R更好的长期投资。
  原文链接:https:drtomasaragon。github。ioposts20230114myjourneyfromrtojulia
  声明:本文为CSDN翻译,未经允许,禁止转载。
  作者:TomsAragn译者弯月责编屠敏
  出品CSDN(ID:CSDNnews)
  以下为译文:
  使用R语言的历史
  15年以来,我一直在美国加州大学伯克利分校公共卫生学院教授基于R语言的应用流行病学。我从2000年初开始教授这门课程,当时大多数人对R并不感兴趣。后来,R语言的受欢迎程度提高了,参加我的课程的人数也增加了。我教授的是应用流行病学的R语言编程基础。学生需要完成自己选择的项目。因为我的学生来自多个学科,因此他们的项目通常非常有创意,我从他们身上也学到了很多知识。
  在过去的15年里,我亲眼目睹了数据科学的兴起,以及学生们在项目中表现出来的独特性和创造性。当然,这门课程本身也在不断发展。我利用贝叶斯网络作为统一框架来介绍概率依赖、因果图和决策网络(用于决策分析)。
  后来,我开始尝试Python。不幸的是,疫情导致我的教学中断,因为我是美国旧金山的卫生主任兼人口卫生司司长。为了应对疫情,我几乎没有时间学习Python以及Python数据分析。
  我不记得具体的时间,但最终我发现了Julia,这是一种专为科学计算而设计的编程语言,不仅拥有Python和R的简单性,而且还具备C的速度。我爱上了Julia,并放弃了学习Python。无论是过去还是现在,我都没有时间同时学习一门以上的编程语言。随着我对Julia的了解越来越多,我开始相信,对我来说,学习Julia是一项比坚持使用R更好的长期投资。
  我通过编程来探索或测试我对流行病的研究、学习新方法以及可视化和分析数据。我对贝叶斯网络、决策网络、因果推理、马尔可夫决策过程,以及基于主体的建模很感兴趣。
  以下是我认为流行病学家十分看重的一些Julia的关键特性:
  多重分派
  复合类型
  即时编译
  速度(非常快)
  社区
  使用Julia编程更加简单。例如,在R中,我们需要尽量避免循环,因为这类语句非常低效。但在Julia中,循环的执行效率很高,因为Julia会在执行之前先编译代码。
  下面,我用一个简单的例子来演示多重分派。注意,R语言是单分派。
  Julia中的多重分派示例
  我是R语言的epitools包的创建者。我开发了基本流行病学的分析函数,其中有几个来自KennethJ。Rothman编写的教科书《现代流行病学》。例如,如果我想创建一个函数来计算2x2列联表的优势比,则可以通过以下几种方式提供数据:
  四个整数计数
  两个比例
  一个2x2表(矩阵)
  两个向量,带有分类数据
  如果我想编写一个函数来处理这些数据类型,就不得不对数据类型进行大量处理和检查,才能调用下一个函数(嵌套或外部)。其中涉及的工作量超出了必要。下面,我们来看看如何利用Julia的多重分派来实现这个函数。
  2003年,我们发表了一项研究,证明饮用未经过滤的市政自来水与晚期HIV病患者感染隐孢子虫病有一定的关系。下面是论文中的列联表。
  暴露
  病例
  对照
  最高
  12hr6hr中级
  35hr64hr最低
  2hr29hr让我们比较一下暴露最高的类别和最低的类别,计算未经调整的优势比。下面的计算使用的是2x2列联表。
  暴露
  病例
  对照
  最高
  12hr6hr最低
  2hr29hr对于结构化的表,优势比需要计算交叉积。
  对于病例对照研究的设计,优势比就是暴露的比例。
  我们将创建三个函数,分别接收三种不同类型的参数来计算优势比。
  四个整数计数
  两个比例
  一个2x2表(矩阵)
  问题在于,这三个函数的名称相同,皆为oddsratio。在Julia中,我们可以利用多重分派实现。相比之下,R语言则是单分派。spanclasscodesnippetouterspanclasscodesnippetcomment函数1spanspanspanclasscodesnippetouterfunctionoddsratio(a::Int,b::Int,c::Int,d::Int)spanspanclasscodesnippetouterspanclasscodesnippetkeywordorspan(ad)(bc)spanspanclasscodesnippetouterspanclasscodesnippetkeywordreturnspanspanclasscodesnippetkeywordorspanspanspanclasscodesnippetouterspanclasscodesnippetkeywordendspanspan
  下面,我们来测试一下函数oddsratio,将如上2x2表中的四个整数传递进去:
  oddsratio(12,6,2,29)
  结果为:spanclasscodesnippetouter29spanclasscodesnippetselectorclass。0spanspan
  下面是第二个函数,接受的参数为两个比例,例如病例对照中的暴露率之比。spanclasscodesnippetouter函数spanclasscodesnippetnumber2spanspanspanclasscodesnippetouterspanclasscodesnippetfunctionspanclasscodesnippetkeywordfunctionspanspanclasscodesnippettitleoddsratiospan(spanclasscodesnippetparamsp1::Float64,p0::Float64span)spanspanspanclasscodesnippetouterspanclasscodesnippettitleorspan(spanclasscodesnippetparams(p1)(spanclasscodesnippetnumber1spanp1)span)(spanclasscodesnippetparams(p0)(spanclasscodesnippetnumber1spanp0)span)spanspanclasscodesnippetouterspanclasscodesnippettitlereturnspanspanclasscodesnippettitleorspanspanspanclasscodesnippetouterspanclasscodesnippettitleendspanspan
  下面我们来测试一下函数oddsratio,将如上2x2表中的两个比例传递进去:spanclasscodesnippetouterprop112(122)spanclasscodesnippetcomment病例组的暴露率spanspanspanclasscodesnippetouterprop06(629)spanclasscodesnippetcomment对照组的暴露率spanspanspanclasscodesnippetouteroddsratio(prop1,prop0)span
  结果为:
  28。999999999999982
  最后是第三个函数,接受的参数为一个2x2表(矩阵):spanclasscodesnippetouterspanclasscodesnippetcomment函数3spanspanspanclasscodesnippetouterfunctionoddsratio(x::Matrix{Int})spanspanclasscodesnippetouterspanclasscodesnippetkeywordorspan(x〔spanclasscodesnippetnumber1span,spanclasscodesnippetnumber1span〕x〔spanclasscodesnippetnumber2span,spanclasscodesnippetnumber2span〕)(x〔spanclasscodesnippetnumber1span,spanclasscodesnippetnumber2span〕x〔spanclasscodesnippetnumber2span,spanclasscodesnippetnumber1span〕)spanspanclasscodesnippetouterspanclasscodesnippetkeywordreturnspanspanclasscodesnippetkeywordorspanspanspanclasscodesnippetouterspanclasscodesnippetkeywordendspanspan
  下面我们来测试一下函数oddsratio,将如上的2x2表传递进去:spanclasscodesnippetouterspanclasscodesnippetattrtabspan〔spanclasscodesnippetnumber12spanspanclasscodesnippetnumber6span;spanclasscodesnippetnumber2spanspanclasscodesnippetnumber29span〕span
  22Matrix{Int64}:
  126
  229spanclasscodesnippetouteroddsratio(tab)spanstylefontsize:15px;backgroundcolor:rgb(255,255,255);fontfamily:applesystemfont,systemui,HelveticaNeue,PingFangSC,HiraginoSansGB,MicrosoftYaHeiUI,MicrosoftYaHei,Arial,sansserif;letterspacing:1px;textalign:justify;spanspan
  结果为:
  29。0
  这就是多重分派。函数oddsratio有三种写法,可以处理多种数据类型。请注意,编写这些代码非常容易。spanclasscodesnippetoutermethods(oddsratio)spanstylefontsize:15px;backgroundcolor:rgb(255,255,255);fontfamily:applesystemfont,systemui,HelveticaNeue,PingFangSC,HiraginoSansGB,MicrosoftYaHeiUI,MicrosoftYaHei,Arial,sansserif;letterspacing:1px;textalign:justify;spanspan
  函数oddsratio的三种调用方法:
  oddsratio(a::Int64,b::Int64,c::Int64,d::Int64)inMainatIn〔2〕:2
  oddsratio(p1::Float64,p0::Float64)inMainatIn〔4〕:2
  oddsratio(x::Matrix{Int64})inMainatIn〔6〕:2
  总结
  在本文中,我简单介绍了我从R切换到Julia的主要原因。我说明了如何编写多重分派函数。请注意,使用三种方法来处理不同参数类型的函数对我来说是多么容易。
  我很喜欢Julia,相信你也会喜欢。
  最后,你还可以通过Julia运行R或Python代码。

正官庄红参茶功效正官庄红参茶好处正官庄红参茶是比较好的保健品,很多人会购买,下面5号网的小编为你们介绍正官庄红参茶功效正官庄红参茶好处。正官庄红参茶功效正官庄红参茶萃取6年根红参(50包)!性温,补气血……正官庄红参茶怎么喝法?正官庄红参茶这样喝正官庄红参茶还是比较出名的,很多人通过韩剧种草,下面5号网的小编为你们介绍正官庄红参茶怎么喝法?正官庄红参茶这样喝。正官庄红参茶怎么喝法正官庄是比较出名的一种红参品牌,因……国美电器回应被破产清算HampampampM裁员1500人丨【亿邦原创】天猫向ofo及戴威索要5亿借款;国美电器回应被破产清算;HM裁员1500人;链库完成5000万元融资。我是邦小白,这里是CEO自习室,我整理了一份学习资料,助……郭麒麟催王惠生二胎?把王惠当亲妈,一声母亲,一世至爱18岁的郭麒麟,对37岁的后妈王惠提了一个要求,王惠一听就哭了。郭德纲知道后准备家法伺候,王惠拉着他的手说:儿子长大了!并把郭麒麟的要求讲给郭德纲听,郭德纲听了之后觉得儿子太孝……微波炉平板好还是转盘好?微波炉机械式好还是电脑式好微波炉已经成为家庭中经常用到的电器,但是在购买的时候人们却不知选择什么样的好。那么,微波炉平板好还是转盘好?微波炉机械式好还是电脑式好?微波炉平板好还是转盘好1)转盘的会……孟加拉豹猫多少钱一只?孟加拉豹猫粘人吗猫分很多种,但是对于铲屎官来说豹猫却是是一种很好看的猫,甚至有人买孟加拉豹猫养。那么,孟加拉豹猫多少钱一只?孟加拉豹猫粘人吗?孟加拉豹猫多少钱一只不同地方价格不一样。野生……如何避免鱼刺卡喉咙?鱼刺卡喉咙如何处理?很多人吃鱼的时候都会小心翼翼的吃,担心会被鱼刺卡喉咙。那么吃饭的时候如果不小心被鱼刺卡着了,大家不要惊慌。关于如何避免鱼刺卡喉咙?鱼刺卡喉咙如何处理?小编来为您解答。鱼刺……服用兴奋剂尿液是紫色的吗?喝了兴奋剂尿液会变成紫色吗?孙杨被霍顿这货羞辱说服用了兴奋剂,还对他的成绩表示鄙视死活不道歉,更有法国泳将说孙杨的尿液是紫色的。不过我们孙杨干的漂亮,不过大家也有一些疑问,难道说服用兴奋剂尿液是紫色的吗?……兹卡病毒通过什么途径传播?兹卡病毒的危害?巴西里约奥运会正在进行,但是在奥运会召开之前兹卡病毒又开始,奥组委通过洒烟,喷雾剂等等方法不怎么奏效,当中国队祭出蚊帐之后,就让人瞬间开眼,简直是好用啊!我们知道兹卡病毒主要是……白内障能喝酒吗?白内障能喝牛奶吗?牛奶是非常有营养的一种饮品,很多人喜欢天天喝,下面5号网的小编为你们介绍白内障能喝酒吗?白内障能喝牛奶吗?白内障能喝酒吗白内障不能喝酒。白内障不能喝酒的,烟酒对眼睛有害,……e汽车2024年推出全新一代奔驰EQA谍照首曝日前,海外媒体首次曝光的新一代奔驰EQA谍照。2017年9月法兰克福车展,基于奔驰模块化纯电动架构(MEA平台)打造的奔驰EQA概念车首次亮相,该车采用前置电动机前轮驱动布局,……参加平遥国际摄影展之三寻找语文课本里的晋祠参加平遥国际摄影展之三:寻找《语文》课本里的晋祠山西人豪放。乔家大院门口有一家山西刀削面馆,我们二话没说,直接进去品尝。令人惊讶的是让你吃饱,就是吃第2碗面也按一碗收费。……
听说了吗?游戏版号再次发放,开发者可以松口气了今年行业谈论最多的话题莫过于游戏版号,甚至每个月都能听到关于版号审批要开放的各类版本消息。但也反映出了行业内各种人群对消息的不同反应。不少从业者虽然松了一口气,版号审批重启就代……靳东与隋俊波分手后他娶李佳事业蒸蒸日上,她嫁导演低调做妈妈靳东是国家一级演员,他是《秋雨》中的何鸣,是《伪装者》中的明楼,是《鬼吹灯之精绝古城》中的胡八一,是《欢乐颂》中的谭宗明,是《我的前半生》中的贺涵等等。靳东有过三段感情,……为大场面而生!伊戈又做出一重要决定,球迷库里的FMVP又悬了为大场面而生!伊戈又做出一重要决定,球迷:库里的FMVP又悬了!众所周知,金州勇士离时隔三年重返总决赛已经仅差一场胜利了!截至目前,勇士已经很顺利地拿到了西部决赛的赛点,……春天嘴唇干裂脱皮怎么办?嘴唇为什么会脱皮?春天天气比较干燥,人容易上火,特别是皮肤干燥很明显,有时候嘴唇会脱皮,很多时候我们会无意识用舌头去舔,结果也不见好。嘴唇为什么会干裂脱皮,怎样很有效的治疗脱皮干裂呢?下面一起来……女科荟夏日炎炎,产后多汗,适合开空调吗?广州中医药大学一附院微信订阅号【女科荟】专栏,逢周三推送!内容涉及众多妇科常见病的科普讲解与防治建议,实用、权威!敬请关注!夏日炎炎,产后多汗,适合开空调吗?文全国……孩子不会神态描写?记住这个要点就可以了,老师看完就给高分大家好,我是跟着名著写作文,这是我的第270篇原创文章。老师,神态描写咋写?很多孩子询问过我这个问题。他们对于外貌描写和神态描写之间的差别有着很大的困惑,虽然他们也……脂肪肝跟胖瘦有关系吗?脂肪肝跟喝酒有关系吗?很多人都认为脂肪肝是跟胖瘦有关系的,那么这种说法是否正确呢,下面5号网的小编为你们介绍脂肪肝跟胖瘦有关系吗?脂肪肝跟喝酒有关系吗?脂肪肝跟胖瘦有关系吗有关系的了,肥胖,太……阿的江再添强援!曝新疆男篮签约NBA中锋,身高2米29臂展2北京时间8月25日,让我们继续关注中国篮球、关注CBA联赛,也希望点击关注了解更多篮球资讯。目前距离新赛季还有不到两个月时间,各支球队都在积极调整备战新赛季,今夏人员调整力度,……2023年职工基本养老金能继续连涨吗?5大信号建议退休人员了截至目前,2022年职工基本养老金调整已经落下帷幕,8月,广大退休人员都将能按新标准享受养老金待遇,生活品质将更上一层楼。有数据显示,2021年企业退休人员养老金月平均水平为2……迷你电脑大火之下,别忘了惠普战66Mini,2599元配置有最近迷你电脑比较火,一方面原因是处理器性能不断提升,迷你电脑的配置已经可以满足需求,另一方面是很多人对电脑的功能进行了拆解,家里只需要一个能打字,简单办公的设备,因此比较喜欢迷……有肚子的中年女人夏天该怎么穿?记住3要3不要,美得轻松时尚十分考验时间,随着年龄的增长,我们似乎离时尚越来越远,但是大家不应该放松下来,对于美的追求要一以贯之,唯有这样才可以更好的穿出自我、秀出魅力。小肚子明显的女人在穿搭上……哪些洗发水含有二恶烷?二恶烷在洗发水中叫什么近期,有曝光一些洗发水被检测出超标致癌因子二恶烷,引起很多人的重视。那么,哪些洗发水含有二恶烷?二恶烷在洗发水中叫什么?哪些洗发水含有二恶烷二恶烷,有机化合物,别名二氧六……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网