专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

作为数据科学家,我并没有选择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代码。

东部变天在即?两大超级强队同时陷入低潮,让整个NBA都乱套了!新赛季到现在,基本所有的球队都已经打了30场比赛,球迷们对所有球队的实力和状态,以及东西部的整体形势,想必也都有了一个比较深入的了解。如果要总结前面30场的赛况,实力接近悬念丛生可20岁,我们正青春!建设银行信用卡20周年龙卡正青春信用卡燃力上线2002年12月,中国建设银行信用卡中心在上海成立,是首家落户上海的国有商业银行信用卡中心。二十岁,青春正当时。在建行信用卡中心成立20周年之际,以20岁,我们正青春为主题的龙卡正12。23中国铝业的本周收盘简评中国铝业的本周(12月19日12月23日)收盘简评1,利好因素(1),消息面本周而以来,国际上铝的大宗商品期货价格出现小幅反弹。(2),北向资金净流入本周,中国铝业的北向资金进出相迪士尼应如何自救来源经济日报作为经典大IP的续作,阿凡达水之道自上映以来引发热议不断,但从上映首个周末票房来看,其表现不及预期。行业分析师将阿凡达2视为迪士尼的票房保证,并将假日季视为这部电影成败(四)锦官城之行,李白一句丈夫未可轻年少,道尽千般滋味急于走上仕途,一展宏图的李白日夜兼程,此时终于到了距离成都还有40里的地方,这个地方是新都地界,刚好碰上要到成都上任的礼部尚书苏颋,据说苏颋此时正在驿亭中休息。李白一听,非常开心,21世纪经济报道特刊丨2023预见湾区金融粤港澳大湾区是我国经济最具活力开放程度最高创新能力最强的地区之一,推进粤港澳大湾区建设是党中央国务院在新的发展时期作出的重大战略决策。纵观全球主要湾区的发展历程,金融无一例外是重要生物多样性世界双遗碧水丹山视频加载中武夷山国家公园集山岳河川风景于一身千回百转的九曲溪绕山而行,曲折萦绕发育典型的丹霞地貌碧水丹山,千姿百态这里是生物之窗,物种珍稀多样走进这片生态大观园听鸟啭莺啼,赏云海无甜宠剧成了刚需,这三对CP适配度也太高了11月,三部爱情剧同期热播,霸占本月热度榜单前列,并纷纷成为各自播出平台热度快速破纪录的剧集。卿卿日常点燃我,温暖你爱的二八定律,在爱情剧中给出了多元化的类型表达,古装轻喜甜宠剧校澳车北上推出首两分钟超千人注册最早元旦可入粤南方财经全媒体记者田静实习生邓雅文发自澳门12月20日,澳门特区政府交通事务局举行澳车北上政策新闻发布会。南财记者从会上获悉,将全面放开澳门私家车经港珠澳大桥珠海公路口岸入出内地(小皮发布ESG行动计划2026年中国市场纸质包装100可回收12月22日,婴童食品企业LittleFreddie(小皮)举行了以为爱负责,为孩子创造更好地球为主题的ESG战略和三年行动计划线上发布会。小皮创始人白毅德(PiersBuck)在北京跟进监督就医购药生活物资配送推动落实优化措施保障群众生活中央纪委国家监委网站徐菱骏近期,北京市疫情快速发展,发烧感染者数量持续高位增加。北京市纪检监察机关聚焦党中央决策部署,跟进监督群众就医购药生活物资配送三条主线,推动落实疫情防控优化
谁才是全市场最适合投资元宇宙概念的ETF?从最近一个季度以来,元宇宙概念可谓是横空出世,据吴哥统计,最近一个季度,元宇宙概念板块最近一季度累计上涨56。81!元宇宙是一个2021年才全面兴起的板块,因此,世界上并没有完全匹很多小型加工厂没有五险一金,一个月也没休息日,工资也不怎么高。为什么还有人愿意做?凡是存在的未必合理,但一定能够得到解释。很多小型加工厂没有五险一金,一个月也没有休息日,工资也不高,为什么还有人愿意干?其实不是愿意干,而是没得选。谁不喜欢有五险一金,收入和工作都孩子不肯吃饭怎么办?孩子不肯吃饭怎么办?1,孩子肠胃不好,影响了孩子不想吃饭。农村家庭爸妈都出门务工了,孩子交给了爷爷奶奶,他们爱孙子,惯着他们,常买一些零食,如麻辣棒,肉果什么的等,卫生没保障,还影孩子不愿意上幼儿园该怎么办?如何正确引导孩子?孩子刚上幼儿园会有分离焦虑,父母在孩子入园前要做一些准备工作,比如带孩子参观幼儿园多讲一些幼儿园的故事找到同一小区平时在一起玩的小朋友一起入园,这样最大限度地减轻孩子对陌生环境的压战争中真的会有人会刻意瞄准头部开枪吗?有新兵蛋子,一直瞄头然后估计会被班长抽要不然就是无比自信的神枪手普通老兵都知道,不管瞄哪,大概率都毛也打不着。战斗距离基本都是一两百米外了,肉眼看过去人和芝麻一样,你还要瞄一个移动王者荣耀为什么总有些中单,宁愿交了闪现也要去抢猪,抢到猪会很开快乐吗?这不说的就是我嘛!橘子玩安琪拉的时候,都会去对面野区看望一下那三只小猪,运气好的话,平平安安烤乳猪回来,运气差点的话,得交个闪现,运气很不好的时候,可能就要留在那里跟他们作伴了总结18年蔡崇信花245亿买下篮网,现在卖出他能挣多少钱呢?作为NBA中唯一一名华人老板,作为阿里巴巴高管的蔡崇信斥巨资买下了位于纽约的布鲁克林篮网队。无论是出自于他对篮球的热爱,还是商业的考虑,能够斥资245亿人民币买下一整支NBA球队,于海青你认为雷军讲对标苹果只是一句口号吗?苹果是小米学习的榜样,而不是竞争的对手从雷军的商业思维及小米原始基因来讲,最多可及曾经辉煌的联想,基无可能比肩苹果。没有自己的核心专利技术,总会被人家卡住脖子,华为就是例证要么就彻你很反感孩子们在吃饭时玩手机吗?对,若是玩,我会反感并提出批评制止。小孩子们吃饭也要养成专注的良好习惯,千万不要娇生惯养,那样只会害了孩子。等他们一天天长大了,无论学习也好,干任何工作也好,都要全神贯注,不能像小足协出台禁纹?那么问题来了,国足水平形象与纹身有关联吗?足协出台了很多垃圾政策,这里不细评说。但是禁纹我认为是绝对正确的。作为一个运动员,有什么事情值得去纹身的。贝克汉姆也是在成名以后才开始纹身的。不想着怎么提高竞技水平,成天泡吧然后看生完孩子的女性就算恢复得再好,为什么再也没有少女感?什么是少女感?少女感是非常轻盈而娇嫩的感觉,一株春日的嫩芽,充满生命力和新鲜感,简单说就是软萌甜。外表清纯,皮肤白嫩,一头柔发,身材纤细,颜值是必需的!性格不急躁,不具攻击性,一种
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网