学习R.从哪里开始?
我已经使用R了一年多了,这是一个成功的冒险。 但是所有这些都经常发生,我发现有些东西因为我不知道如何找到它或者它的一个例子而不知道。
堆栈溢出,
你能否推荐一种学习R的途径,以提供一个可供其使用的工具集来解决统计性问题?
互联网上有很多知识,在r-project网站和邮件列表之间,但它似乎是“无处不在”,而且在你实际寻找它的时候并不存在。
例如,当我第一次开始使用R时,我经历了“Intro to R”。 然后我读了语言定义(显然还没有陷入)。 但每次我在Stackoverflow上提出一个问题时,我都会看到一些新的功能,这些功能是解决我所有短期问题的方法。 我的问题是,你怎么知道这些功能首先存在? 人们如何去寻找它们? 据推测,你读了一些东西或发现了一些资源,将你的学习转移到曲线的指数部分。 它以前如何?
显然,R作为统计工具的功能非常广泛。 出于我自己的目的,我主要使用经济或财务数据。 因此,考虑到这一点的答案将是最有帮助的。
完全偏见的反应:学习plyr
, reshape2
和ggplot2
。 他们将覆盖90%的数据处理和可视化需求。 所有这三个软件包都有一致的数据理念(ggplot2书中涉及到),并且旨在保持一致和易于学习。
我并不是学习许多专业功能,而是鼓励您学习可以灵活组合以解决各种问题的简单功能。 这是plyr为数据操作所做的努力,以及ggplot2努力实现的可视化。 这确实意味着你需要投入更多的时间来了解一些基本理论,但是我相信,从长远来看,它会得到很好的回报。
我的方式如何学习R.
R资源:
要学习R,最重要的资源是谷歌。 搜索:“TOPIC r-project”,“TOPIC filetype:r”或“TOPIC site:nabble.com”。
其次,看看大多数软件包提供的示例代码。 请转到“http://bm2.genes.nig.ac.jp/”,搜索主题并查看示例代码。 运行并调整它,这样你就可以解决你的部分问题。
第三:r-help邮件列表。 阅读帖子,基本问题会一遍又一遍地被问到。 如果您遇到问题并且完全卡住,请在邮件列表中提问。
最后,看一下R软件包的源代码。 这是最难的部分。 如果您可以根据需要更改代码,那么您已经掌握了R ;-)
一些技巧:
R的曲线陡峭。 这是一个功能;-),它旨在解决高级问题,最终你比使用R的替代方法快。
了解与您的问题相关的每个R包和功能。 R的优势在于有很多包可用(2000年左右,我认为)。 通常总会有一个更适合或者已经解决了你的问题的软件包。 (一些帮助页面写得很差,很难理解 - 我已经习惯了)
R书对学习R无帮助。是的,那是真的。 如果你是一位专家程序员和专家统计学家,你不需要任何有关R.的书(只有哈德利韦克姆的ggplot2书除外)。 如果你不是,一般学习编程和/或高级统计。
一些R包有已知的错误,没有人会修复(包所有者离开大学等)。 只是一个警告,如果您正在寻找代码中的错误并且错误位于R包中,这可能会非常棘手。
我将从这开始:
我的问题是,你怎么知道这些功能首先存在?
简单 - 我们试图解决类似的问题,并遇到了这个功能。 它适合或不适合我们的需求,但我们现在知道它在那里。 我没有亲自使用R,但是你所描述的是每种编程语言的学习曲线。 首先,你学习“语法”,即你可以做什么。 然后你试着做点什么。 你发现你不能。
在那个阶段,程序员有很多选择。 我个人做什么? 依靠。 我会尝试查找该包/标题/库/任何成员函数,以查看是否符合我的需求。 我可能会这样做,因为除非你真的在推动边界,否则某个地方的人可能已经尝试过,并没有做到这一点,并且他们的问题得到了回答。 如果你在推动边界,某个地方的某个人可能已经尝试过失败,但没有得到任何答案。 我可能会尝试一两个论坛来看看会发生什么。 我个人不会使用IRC,但这是另一种选择,因为邮件列表取决于问题的特殊性。
我的计算机上还有一个文件夹,里面装满了我根据问题而搜索的书籍,还有一些我从中学习的书籍库,这些书籍通常包含实用的,不太适合的例子。
我唯一的评论是尝试阅读语言规范,作为初学者不太可能对你有很大的帮助。 你不会完全理解它是什么意思,因为你还没有推动界限并尝试过。 例如,C中的新手可能会尝试这样做:
char c = '7';
int x = (int) c;
将字符'7'转换为整数形式。 在你理解字符和ASCII的工作方式之前,这不是一个糟糕的思考过程,那么你就会明白为什么上述不会给你想要的东西。
总之,我认为这将成为学习过程的一部分,我认为你可以缩短它。 这种安慰就像任何研究一样,你做得越多,你就会越知道去哪里看,以及在不同社区问什么问题。
链接地址: http://www.djcxy.com/p/24891.html