我想知道如何将R语言学习为“编程”语言,而不是将其学习为统计系统。我的问题是由于缺乏对诸如解析,评估等功能的理解而引起的,这些功能可能不会被具有“统计”说服力的R用户频繁使用。
编辑:我一直在探索像Rpy RSPerl rJava这样的工具,并希望(至少)能够理解促进R与其他编程语言交流的概念。
R的Web应用程序(R-PHP,RApache等)的可用性是我获得对R更深入,更结构化理解的另一个动机因素。
最后但并非最不重要,我希望能够编写R包,如果没有必要,这样的理解将是有益的。
答案 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 。
它非常易读,并不认为你是一名计算机科学家,并且随着R书的出现而相当便宜。
答案 2 :(得分:18)
我宁愿建议一个良好而全面的开端,比如迈克尔克劳利的The R Book。这是一本易于阅读和完整的R核心功能书籍,包括统计技巧和一些练习。它重点关注R强度(例如线性模型),并提供有用的编码技巧。当我在神秘的在线课程上挣扎时,它帮助了我很多。
答案 3 :(得分:14)
我是一个非常亲力亲为的学习者,所以这个建议可能与我的学习风格有关。我建议用任何语言开始“学习编程”的最佳位置包括找出正常经验范围之外的问题,然后尝试使用编程语言解决它们。
教会我最多关于如何使用R
进行编程的项目与统计数据毫无关系。
了解像parse()
和eval()
这样的函数绝不是衡量“成为优秀的程序员”的标准。需要大量使用这些功能的应用程序不能构成可以应用R
的问题空间的大部分。相反,我认为你应该努力成为一个知道R
的“优秀程序员”。这涉及完善解决问题的方法。
编程不是一项旁观者运动 - 一本好书对于可用工具的参考是不可或缺的,但你需要找到一些可以磨练你技能的问题。