有哪些 MATLAB 能做而 R 不能做的事情? [关闭]

2024-03-05

经常听到有人抱怨价格贵MATLAB https://en.wikipedia.org/wiki/MATLAB许可证是。然后我想知道为什么他们不直接使用Octave https://www.gnu.org/software/octave/ or R https://en.wikipedia.org/wiki/R_%28programming_language%29。但后者对吗?可以用R代替MATLAB吗?


可以用R代替MATLAB吗?

Yes.

我使用 MATLAB 多年,但在过去 3 年主要转向 R。在这一点上,他们的共同点比不同点要多得多。这部分取决于您的领域和用例。并作为斯宾塞·格雷夫斯之前说过 http://old.nabble.com/Comparison-between-R-and-MATLAB-td18000568.html,这还取决于“您经常光顾哪个教堂”。最好看一下MATLAB工具包 http://www.mathworks.com/products/product_listing/index.html vs. CRAN http://cran.r-project.org/在您决定之前执行特定任务。

类似的问题几年前在 R-Help 上询问过 http://tolstoy.newcastle.edu.au/R/help/04/04/1284.html and 最近又再次 http://old.nabble.com/Comparison-between-R-and-MATLAB-td18000568.html. 大卫·希贝勒 http://www.math.umaine.edu/~hiebeler/home.html(在缅因大学)保持着广泛的R/MATLAB 比较 http://www.math.umaine.edu/~hiebeler/comp/matlabR.html,并且是该主题的最佳参考。您还可以查看基本功能的比较 http://home.online.no/~pjacklam/r/doc/matlab_vs_r.html.

以下是我过去观察到的一些事情,但这些都不应成为破坏交易的因素。

  • 一般来说,MATLAB 具有更好的编程环境(例如更好的文档、更好的调试器、更好的对象浏览器)并且“更容易”使用(如果您愿意,您可以使用 MATLAB,而无需进行任何编程)。Simulink http://en.wikipedia.org/wiki/Simulink允许您通过连接图形中的块来进行可视化编程。REvolution R 正在解决其中一些差异 http://www.revolution-computing.com/通过提供更好的 IDE 和改进的调试,但它仍然落后了一步。
  • 使用正常配置(请参阅此基准测试的示例 http://mlg.eng.cam.ac.uk/dave/rmbenchmark.php),尽管如果这成为一个问题,可以采取一些措施来提高 R 性能。
  • 由于它是商业性的,因此它也可以说拥有更多的“产品”(在集成附加组件的意义上)和支持(但你要为此付费)。请参阅产品列表 http://www.mathworks.com/products/product_listing/index.html。例如,它有类似的东西MATLAB 编译器 http://www.mathworks.com/products/compiler/它创建可以部署的可执行 MATLAB 程序。
  • 就软件包/工具包而言,MATLAB 对物理科学的支持更多,而 R 对统计的支持更强,这并不是说另一个不能执行这些任务。而且它们都可以轻松扩展。

因此,如果易用性不是主要考虑因素(并且没有其他业务原因需要避免使用开源工具),那么我认为使用 R 是有实际意义的。围绕它的强大社区(R 邮件列表非常棒),正在快速发展(参见 CRAN),而且它free(这不是一个小问题!)。

编辑:我只想补充一点:这本书“使用 R 和 MATLAB 进行函数数据分析” http://www.springer.com/statistics/computational/book/978-0-387-98184-0包括“Matlab 和 R 语言的基本比较”一章。这涵盖了一些重要的语法差异(例如点的解释或方括号 [] 的含义)。对于任何对函数式编程(无论哪种语言)感兴趣的人来说,这本书本身都非常值得一读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有哪些 MATLAB 能做而 R 不能做的事情? [关闭] 的相关文章

  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • 返回数据帧 R 中的下一行

    我有一个看起来像这样的数据框 kind datetime book 2016 04 23 04 23 00 pen 2016 04 23 04 30 00 toy 2016 04 23 06 45 00 我想为数据集中的每一行返回下一行的日
  • R 中具有稳健回归的异常值

    我正在使用lmrobR 中的函数使用robustbase用于稳健回归的库 我会把它用作 rob reg lt lmrob y 0 dat method MM control a1 当我想返回我使用的摘要时summary rob reg 稳健
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • numpy.histogram 的 hist 维度,密度 = True

    假设我有这个数组 A array 0 0019879 0 00172861 0 00527226 0 00639585 0 00242005 0 00717373 0 00371651 0 00164218 0 00034572 0 008
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

    我想在 kableextra 表中的某一行下方添加一条水平线 row spec 函数的参数 hline after 应该在行下方添加水平线 row spec 文档 https www rdocumentation org packages
  • 如何在放置颜色条后保持子图大小不变

    假设我们有一个 1 2 子图 我们在其中绘制了一些图形 如下所示 subplot 1 2 1 surf peaks 20 subplot 1 2 2 surf peaks 20 然后我们要添加一个颜色条 colorbar 我不希望结果中的正
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 如何计算R中移动窗口内的平均斜率

    我的数据集包含2个变量y 和 t 05s y 每 05 秒测量一次 我正在尝试计算移动中的平均坡度20秒窗口 即计算第一个 20 秒斜率值后 窗口向前移动一个时间单位 05 秒 并计算下一个 20 秒窗口 在以下位置生成连续 20 秒斜率值
  • 使用 pracma::findpeaks 识别持续峰值

    我的语法有问题peakpat内的选项findpeaks内的函数pramcaR 包 v 2 1 1 我使用的是 R 3 4 3 x64 Windows 我希望该函数能够识别可能有两个重复值的峰值 并且我相信该选项peakpat这就是我能做到的
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得

随机推荐

  • 如何从 C# 执行批处理文件?

    解决方案见文末 我不认为这会很难 我有一个命令文件 da cmd 其中包含 copy b d 7zS sfx d config txt d files 7z d setup exe 但 C 的这些行不会执行它 Process Start d
  • 更改 pdf 和非 Google 文档(EDU 域)的 acl

    我在尝试从 Google Apps 脚本 Google Apps for Education 更改文件所有权时收到此错误 GDataServiceException您尚无法更改该项目的所有者 我们正在努力 相同的代码适用于 Google A
  • 如何在mysql中存储类型可以是数字、日期或字符串的数据

    我们正在开发一个监控系统 在我们的系统中 值是由运行在不同服务器上的代理报告的 报告的观察结果可以是如下值 一个数值 例如 CPU USAGE 55 表示 55 的 CPU 处于使用状态 使用 某些事件被解雇 例如 备份完成 状态 例如SQ
  • PHP 中 preg_replace() 的字符串的最大长度?

    我发现如果我尝试在很长的字符串上使用 preg replace PHP 会向我的浏览器返回一个空页面 而不显示错误消息 我能够在我的测试环境中重现这个错误 preg replace 可以处理的字符串的最大长度是多少 是否可以增加这个长度 对
  • Firestore 查询 - 一对多关系

    我将开发 Android 移动应用程序并使用 Firebase 作为后端 我是 NoSql Firestore 的新手 在我的应用程序中 用户有很多主题 一个主题有很多帖子 帖子有很多评论和一张图片 用户也有很多追随者 在这种情况下 我如何
  • C# 4.0:将动态转换为静态

    这是一个与我问的另一个问题相关的分支问题here https stackoverflow com questions 2783616 net 4 0 dynamic object used statically 我将其分开 因为这实际上是一
  • Visual Studio 第一次启动需要很长时间

    我在 Windows 7 64 位计算机 RAM 为 6 GB 上下载并安装了 Visual Studio 2013 Profession Trial 但是 当我第一次启动它时 它说 我们正在准备就绪 感谢您的耐心等待 它已经持续了大约一个
  • 无框架的 C++ GUI

    据我了解 没有办法让 C GUI 设计器将您的应用程序作为一个独立的可执行文件发布 所有 3rd 方框架都以 dll s 等形式添加依赖项 无论是 MFC Qt WTL wxWidgets GTK 这让我只剩下一种解决方案 使用 Win32
  • 为什么八进制序列 '\0101' 不等于十进制 65?

    考虑这个 C 程序 unsigned char c2 0101 printf c d n c2 c2 我相信输出应该是 A 65但实际输出是1 49 推理 字符常量中以 0 作为前缀 声明为八进制格式 而 101 的八进制值为 65 那么
  • 定时功能

    警告 这有点递归 我回答了这个问题 Python 如何获取列表中最长元素之前的所有元素 https stackoverflow com questions 8740018 pythonhow can i get all the elemen
  • YouTube 分析 API 行为空

    我知道这个问题以前已经被回答过 但我似乎有一个不同的问题 直到几天前 我对 YouTube 的查询从未出现过问题 然而现在 每次我查询任何视频上的数据时 实际视频数据行都会以单个空数组的形式返回 这是我的完整代码 coding utf 8
  • flutter sqlite 事务使用错误警告数据库已被锁定

    我正在开发一个使用 sqlite 和事务的移动应用程序 下面的代码是通过使用sqlite事务保存模型到多个数据库表来从用户那里获取订单信息 Future
  • 如何使用 npm install 和 webpack 来使用 normalize.css?

    我正在将 webpack 与 ReactJS 一起使用 并试图弄清楚如何在 npm 安装后使用 normalize css https necolas github io normalize css https necolas github
  • 如何使用注释将控制器定义为服务?

    这似乎是使用控制器作为服务的最快 最简单的方法 但我仍然缺少一个步骤 因为它不起作用 这是我的代码 控制器 服务 Test TestBundle Controller TestController php use Symfony Bundl
  • Psycopg2execute_values 以文本形式发送所有值

    我在 postgres 中有这张表 CREATE TABLE target a json b integer c text id integer CONSTRAINT id fkey FOREIGN KEY id REFERENCES pu
  • 在 drupal 7 中更改管理员密码

    我正在使用内置的 Drupal 7 用户模块 用户注册 忘记密码电子邮件等等 我忘记了我的管理员密码 我可以访问托管在 1and1 com 上的网站 也可以访问 mysql 是否可以通过 SQL 更改密码或电子邮件地址 以便我可以访问管理页
  • 更改状态时延迟加载 Angular 组件脚本

    这个问题已经占用了最后一天左右的时间 我一直在尝试让我的 AngularJS 应用程序延迟加载每个状态组件的脚本文件 我正在 Angular 中从事一个大型项目 并且index html文件已经变成了100多个
  • 将 Django-taggit 与 django-rest-framework 一起使用,我无法保存我的标签

    我试图弄清楚为什么当我提交表单时 我的标签没有保存在我的数据库中 django rest framework 和 Django taggit 也很新 我想我做错了什么 首先 在使用其余框架创建 API 之前 我使用通用视图 CreateVi
  • Python 中的 Bland-Altman 图

    是否有可能制作一个布兰德 奥特曼情节 http en wikipedia org wiki Bland E2 80 93Altman plot在Python中 我似乎找不到任何相关信息 此类情节的另一个名称是Tukey 均差图 Exampl
  • 有哪些 MATLAB 能做而 R 不能做的事情? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi