如何学习R作为编程语言

时间:2009-11-16 21:07:01

标签: r

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

编辑:我一直在探索像Rpy RSPerl rJava这样的工具,并希望(至少)能够理解促进R与其他编程语言交流的概念。

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

最后但并非最不重要,我希望能够编写R包,如果没有必要,这样的理解将是有益的。

4 个答案:

答案 0 :(得分:85)

对于初学者,您可能需要to look at this article by John Cook。另外,请务必阅读"The R Inferno"

the R homepage上有很多优质资源,特别是阅读"An Introduction to R""The R Language Definition"

一些非常密切相关的stackoverflow问题:

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

答案 1 :(得分:23)

Norman Matloff撰写的一本关于学习R-as-a-programming-language(而不是R-for-statistics)的好书是 The Art of R Programming

enter image description here

它非常易读,并不认为你是一名计算机科学家,并且随着R书的出现而相当便宜。

答案 2 :(得分:18)

我宁愿建议一个良好而全面的开端,比如迈克尔克劳利的The R Book。这是一本易于阅读和完整的R核心功能书籍,包括统计技巧和一些练习。它重点关注R强度(例如线性模型),并提供有用的编码技巧。当我在神秘的在线课程上挣扎时,它帮助了我很多。

alt text

答案 3 :(得分:14)

我是一个非常亲力亲为的学习者,所以这个建议可能与我的学习风格有关。我建议用任何语言开始“学习编程”的最佳位置包括找出正常经验范围之外的问题,然后尝试使用编程语言解决它们。

教会我最多关于如何使用R进行编程的项目与统计数据毫无关系。

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

编程不是一项旁观者运动 - 一本好书对于可用工具的参考是不可或缺的,但你需要找到一些可以磨练你技能的问题。