如何将R语言作为编程语言学习

104

我想知道如何把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中函数式编程和面向对象编程的原则,并且真正关注于开发相对较大系统的最佳实践。 - Harlan
我认为这是学习这种语言最有趣的方式之一:http://tryr.codeschool.com/levels/1/challenges/16 - Umit Kaya
我的重新开放投票是基于以下事实:这是一个高度点赞的问题,在搜索“stackoverflow r”时,它是谷歌搜索结果中最先出现的之一。它已经存在了10年,只有一些建议仍然有效。此外,缺乏提供更现代材料的机会已经被关闭。 - IRTFM
@42- 你不认为这是一个“寻找教程”的问题吗? - camille
我想翻译,但它当前的准确性和误导性如此之高,以至于它应该重新开放或完全删除。 - IRTFM
4个回答

90

首先,您可能想要查看John Cook的这篇文章(链接在此)。此外,请确保阅读“The R Inferno”

R主页上有许多好资源,但特别是,请阅读“An Introduction to R”“The R Language Definition”

一些非常相关的stackoverflow问题:

我最喜欢的关于这个主题的书是John Chambers的“Software for Data Analysis: Programming with R”,他是S语言的创造者。


(来源:springer.com


我原本打算用相同的链接回答。假设你不是完全的编程新手,那个链接非常有用。 - Secko
我也要为《R地狱》进行背书。它包含了许多我从 Chambers 的书中获得的内容,但没有啰嗦和宗教信仰。 - eytan
R地狱文档非常出色。 - Federico Giorgi

23

一本学习R编程语言(而非统计学中的R)的好书是Norman Matloff所著的The Art of R Programming

enter image description here

非常易读,不假设你是计算机科学家,作为R书籍来说相当便宜。

18

我建议您从The R Book by Michael Crawley开始学习。这是一本易于阅读且内容全面的R核心功能书籍,包含统计技巧和少量练习。它非常注重R的优势(例如线性模型),并提供有用的编程技巧。在我曾经苦苦挣扎于晦涩的在线课程时,它给了我很大帮助。

图片描述


2
我同意 - 这是一本非常好的入门书;Crawley 写得非常清晰。 - Richie Cotton
这太详细了。上面John Cook的文章更为简洁。作为程序员,你不需要《R语言实战》中的大部分内容。 - Max

14

我是一个非常注重实践的学习者,因此这些建议可能只适用于我的学习风格。建议你在任何语言中开始“学习编程”的最佳方法是找到超出你正常经验范围的问题,并尝试使用编程语言来解决。

教会我如何使用 R 编程的项目与统计完全无关。

了解像 parse()eval() 这样的函数并不意味着成为“优秀的 R 程序员”。需要大量使用这些函数的应用在可以应用 R 的问题空间中并不占主导地位。相反,我认为你应该尝试成为一名“优秀的程序员”,掌握 R。这涉及到改进你的解决问题方法。

编程不是观察比赛-一本好书作为工具参考是不可或缺的,但你需要找一些问题来磨练你的技能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接