如何学习R作为编程语言[关闭]


105

我想知道如何将R语言作为一种“编程”语言来学习,而不是作为一种统计系统来学习。我的问题是由于缺乏对诸如parse,eval等之类的功能的理解而引起的,而这些功能可能不会被具有“统计”说服力的R用户频繁使用。

编辑:我一直在探索Rpy RSPerl rJava之类的工具,并希望(至少)能够理解有助于R与其他编程语言进行通信的概念。

R的Web应用程序(R-PHP,RApache等)的可用性是我获得对R的更深入,更结构化理解的另一个动力。

最后但并非最不重要的一点是,我希望能够编写R程序包,如果不需要的话,这种理解将是有益的。


1
如果您可以说出为什么要考虑使用R作为一种编程语言而非统计系统,将会得到更好的答案。您是否正在将已经在R中开发的其他软件融合在一起?您是否有其他程序员,除了R以外什么都不知道,因此您被迫在其中进行开发?
Chip Uni

7
绝对需要一本书的标题为“带有R的统计软件工程”,该书从编程语言的角度解释R,讨论R中的函数式编程和面向对象编程的原理,并着重于最佳实践用于开发相对较大的系统。
哈兰

我认为这是学习这种语言的最有趣的方式之一:tryr.codeschool.com/levels/1/challenges/16
Umit Kaya

我重新投票的理由是,这是一个极受争议的问题,并且是当您在“ stackoverflow r”上搜索时在Google上的第一热门。它已有10年的历史了,只有一些建议仍然有效。此外,已经缺乏提供更多现代材料的机会。
IRTFM

@ 42-您不会认为这是“正在寻找教程”的问题吗?
卡米尔

Answers:


87

首先,您可能想看看John Cook的这篇文章。还要确保您已阅读“ The R Inferno”

R主页上有很多不错的资源,但是,请特别阅读“ R简介”“ R语言定义”

一些非常相关的stackoverflow问题:

我最喜欢的一本书,是S语言的创建者John Chambers撰写的“数据分析软件:使用R编程”


我打算用相同的链接回答。@harshsinghal假设您不是编程的完整入门者,那么该链接非常有用。
塞科

我还要证明R地狱。它包含了我从《钱伯斯》一书中得到的很多内容,没有冗长和宗教信仰。
eytan

R inferno文件非常出色
Federico Giorgi

23

诺曼·马特洛夫(Norman Matloff )着的《 R编程的艺术》是一学习R-as-a-programming语言(而不是R-for-statistics)的好书。

在此处输入图片说明

它具有很好的可读性,不假设您是计算机科学家,并且R本书的价格非常便宜。


18

我宁愿建议一个良好而全面的开始,例如Michael Crawley的《The R Book》。这是一本关于R核心功能的易于阅读且完整的书,其中包含统计技巧和一些练习。它着重于R的优势(例如线性模型),并提供了有用的编码技巧。在我努力学习神秘的在线课程时,这对我很有帮助。

替代文字


2
我同意-这是一本极好的入门书籍;克劳利写得很清楚。
Richie Cotton

太详细了。以上约翰·库克(John Cook)的文章更为简洁。作为程序员,您不需要“ R书”的大部分内容。
最多

14

我是一个非常动手的学习者,因此此建议可能是我的学习风格所特有的。我建议以任何一种语言开始“学习编程”的最佳位置涉及发现超出您正常经验范围的问题,然后尝试使用一种编程语言解决这些问题。

这些使我最了解如何编程的项目R与统计学完全无关。

知道parse()和这样的函数eval()绝不是成为“优秀的R程序员”的手段。需要大量使用这些功能的应用程序不会占据您可以应用的大部分问题空间R。相反,我认为您应该努力成为一个知道的“优秀程序员” R。这涉及完善您的问题解决方法。

编程不是一场体育比赛,一本好书对于可用工具的参考是必不可少的,但是您需要找到一些磨练技能的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.