热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

r语言中的或怎么表示什么不同_数据分析和作图用python好还是R!python真有那么神吗?...

很多人无编程经验,但是出于对学术的研究,需要用些辅助工具用于数据分析和作图不错。很多网上有人说学R有人说学Python。Python在很多人口中无所不能

很多人无编程经验,但是出于对学术的研究,需要用些辅助工具用于数据分析和作图不错。很多网上有人说学R有人说学Python。

Python在很多人口中无所不能,比如说编写一些自动化程序、黑别人网站、做游戏外挂之类那么,Python真的那么神奇吗?

45792cd844f39b1d161419c93ae3c003.png

首先,两种语言都能做胶水语言的工作没有疑问

描述:Python事实上应用范围更为广泛,而R语言一定程度上被局限在了数据处理、数据分析、数据挖掘领域。我认为可能有下列原因:

首先&#xff0c;R作为一个想要继承S语言的遗产的语言&#xff0c;它一定程度上应该也继承了S的语法&#xff08;不过我确实不了解S语言&#xff09;&#xff0c;这就导致它的许多表示对于熟悉了C/C&#43;&#43;/Java这一系统语言的程序员感到许多不适。比如&#xff1a;赋值符号会是「<-」&#xff08;虽然通常来说用「&#61;」&#xff09;&#xff1b;而原本应该是属性访问的「.」居然可以作为变量名的一部分&#xff0c;类似的功能要用「」完成&#xff08;比如Python中的data["salary"]或data.salary到了R里面会是data」完成&#xff08;比如Python中的data["salary"]或data.salary到了R里面会是data」完成&#xff08;比如Python中的data["salary"]或data.salary到了R里面会是datasalary&#xff09;&#xff0c;还有比如数组用「c()」表示。虽然这并不是语言设计的问题&#xff0c;但我确实很不喜欢这种不适感。

6a25c05276cb2fe3b21165a0b9d34c1d.png

语法设计方面上&#xff0c;还有一个因素就是各种函数名缩写的一致性上。R嘛&#xff0c;可能也是有历史包袱的原因&#xff0c;非常的混乱&#xff0c;总是给人像MATLAB那样各种夸张、毫无限制的感觉。比如有的就是把单词的几个辅音拿来缩写&#xff0c;把几个单词首字母拿来缩写&#xff08;比如nnls这样缩写non-negativeleastsquares&#xff09;&#xff0c;这样无论从可读性上、函数名的猜测上基本上非常难&#xff08;可能是科研人员偷懒的通病&#xff0c;误&#xff09;。这方面Python作为一个给有洁癖的人设计的语言&#xff08;误&#xff09;&#xff0c;就会好很多。

另外也要看轮子的状况。Python有那个pip&#xff08;PythonPackageIndex&#xff09;等几个仓库&#xff0c;R语言有它那个可怕的CRAN&#xff08;TheComprehensiveRArchiveNetwork&#xff09;&#xff08;明显CRAN这个名字起得更吓人一些&#xff0c;而且另外能自称ComprehensiveArchiveNetwork的只有Perl的CPAN和TeX的CTAN了&#xff0c;都是什么怪兽的量级的东西了&#xff09;&#xff0c;但轮子的方向其实很明显&#xff0c;Python的轮子的方向更为多样&#xff0c;而R语言的轮子会更多得围绕数据统计分析方面。

然后从数据模型本身而言&#xff0c;Python会是有「list」、「dict」这一类&#xff0c;传统意义上的编程模型&#xff0c;受经典编程训练的人就会用着比较爽吧&#xff0c;而响应的&#xff0c;R里面可能会强调「dataframe」数据帧这些&#xff08;或者有时候是「datatable」&#xff0c;这个记不清了&#xff09;&#xff0c;给统计人员用起来更舒服吧。

fbe75f71e26b596dd3d27501223a6f76.png

互联网疯狂发展的这十年来年&#xff0c;Python在几家互联网公司的主推之下不可谓不是大红大紫如日中天。不过这几年来R乘着数据挖掘的东风&#xff0c;总给人一种东山再起的感觉。君不见微软在这几年开发者大会上也有提到R方面的东西。

个人感觉R给人的感觉和Perl更像一点&#xff0c;做某些事情非常好&#xff0c;但是以牺牲一部分东西作为代价的前者主推统计领域&#xff0c;后者更具备泛用性。而Python是仔细权衡了这种代价而清理过的Perl的。

R加上ggplot2以及其他绘图包能做的事情大多Python或者搭配上numpy、scipy、matplotlib也能做&#xff0c;但做的风格如何&#xff0c;优不优雅的话就不好说了。个人更喜欢Python因为自己整体上更熟悉。所以具体怎么选还是看自己&#xff01;



推荐阅读
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
author-avatar
邪恶尽头是纯洁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有