热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

R语言入门的经验之谈

初识语言学习计算机语言就像学一门自然语言,首先要有交流应用的动力,其次是要掌握基本的语法规则和语汇,之后是情景中不断演练和改进。语言能力无止境,编程艺术也是这样。虽然我是个地地道道

初识语言

学习计算机语言就像学一门自然语言,首先要有交流/应用的动力,其次是要掌握基本的语法规则和语汇,之后是情景中不断演练和改进。语言能力无止境,编程艺术也是这样。

虽然我是个地地道道的理科生,却一直对码代码这种事情特别惧怕,曾经有C++的一门课,常常是想了半天,凑出了几行,一按编译键,又是各种bug,就这样留下了些心理障碍。从大一到了现在大四,终于有一种“纸上得来终觉浅,绝知此事要躬行”的感悟,下定决心要学会一门编程语言。

大四上学期,学校的事情已经不多了,便咬咬牙修了一门名叫《统计方法选讲》的课,名字很无辜,内容却是实实在在的Statistical Learning, 而且还要将上课学到的算法自己写程序实现。统计方面一般会选择R,不过在Statistical/Machine Learning领域会更多地用到Matlab。幸好是从R这样一个入门难度极低的工具入手,我也得以发出“由也升堂矣,未入于室也”这样的感慨,不然,可能连“升堂”的机会都没有。

可以说,这个学期学习R的过程还是很愉快,也很有成就感的。于此同时,我也感觉到国内大学对于编程教学还有相当程度的缺失,一般理科会教C/C++,文科教VB,相对会在各类研究和工作中用到的Matlab, Python, R等来说并不太实用。而这些工具呢,又大多只能靠学生自学掌握。我想,对于编程类内容,自我实践、探索确实相当重要,但可能会花费更多的时间,或者停留在低水平而难以进步,因此希望写个帖子,把我的一些经验分享给大家,也希望能得到大家的一点建议,共同进步。

学习资源介绍

  1. RStudio/ R Markdown
    为什么把它们放在第一个呢,是因为RStudio可以提供更优良的编程环境,R Markdown(必须有RStudio才可以实现)可以方便的将你的代码、运算结果及文字说明输出成HTML, PDF等文件格式。这两者相当于提供了一个良好的学习环境,有事半功倍的效果。

  2. 《统计建模与R软件》薛毅 陈立萍 编著
    看这本书作为学习R语言的入门指南真是再好不过,最好能拿着纸质书,便于翻阅查看。大致把这本书过一遍,能够掌握R基本语法和语汇,社会科学对统计的应用可以满足。
    这本书的优点有这几个:
    条理清晰,章节分布合理,不会出现看不明白的地方,便于自学。
    内容包含比较全面,主成分分析、聚类分析、蒙特卡洛模拟等方法也都会提到。
    看过这本书的人多,习题遇到困难能很方便得到解答。

  3. An Introduction to Statistical Learning with Application in R
    这本是统计学习方面入门级别的书,即使数学基础一般也能容易看懂。

  4. The Elements of Statistical Learning
    这本是统计学习方面较为高级别的书,部分内容数学要求比较高。好在它有一个网站,书中所用的数据都可以在该网站上下载到,如果要深入学习此书,最好能边学边练,结合书上所讲算法写程序,对比书中结果。

  5. Coursera专项课程:Data Science Specialization
    这个专项课程是由约翰霍普金斯大学开设的,一共分了九门小课程,优缺点都比较突出(可以说优缺点其实是对立的):
    优点:每门都只有一个月,容易坚持学完,也方便注册学习新的课程(时间自由度很好)。
    缺点:分成九门课之后内容比较散,其中有几门课相对比较无趣和仓促。

作为R语言入门,我跟了一个月的R Programming(第二门),后来因为上课学到机器学习的内容所以又学了一门Practical Machine Learning(第八门),中间跳掉了这么多门确实感觉基础不够,之后还打算把Getting and Cleaning Data, Exploratory Data Analysis, Developing Data Products这三门也学一下,这样估计可以从获取整理数据、绘制图表、建模及最终做出产品有一个完整的了解,也算为大四下能好好写一篇毕业论文打个基础吧。

PS:这个专项课程专门开发了一套叫swirl的R package,用一句话概况就是用R来学R语言,通过交互方式介绍R函数用法和一些非常好用的包(比如绘图里的ggplot2等等),专项课程里将此作为补充和加分内容,但不上课也可以下载下来使用学习,具体方法点链接进去看即可。

  1. Coursera: Data Analysis and Statistical Inference
    这门课在MOOC上的评价很好。或者说上面那个Data Science专项课程经常受到吐槽,不够我已经觉得学到了很多东西(条件是每星期的Quiz认真做,Project积极完成,研究Peer写的程序),想必这个评分超高的课程一定在课程设计上更有趣味性吧。这门课从名字上来说就是统计推断的内容,鉴于我自己的统计知识和应用能力也不够好,有空的时候我也打算学习一下这门课。

  2. Coursera: Machine Learning
    Coursera上元老级别课程,会讲更多机器学习的理论知识,编程要求用Matlab, 这里就不做过多介绍。我还打算更多地学习这个领域的知识,已计划跟12月28日马上开班的课程,持续两个多月时间。

嗯,不知不觉已经写了这么多了,现在编程还不算溜,但兴趣很大,希望未来一年里可以掌握R, Matlab, Python这三把利器。不多说了,学习去了!


推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • Opencv提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型cv ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • CS231n简介详见CS231n课程笔记1:Introduction。本文都是作者自己的思考,正确性未经过验证,欢迎指教。作业笔记本部分实现的是Momentum,RMSProb, ... [详细]
  • VBA操作Excel之设置单元格属性
    VBA操作Excel简介一、VBA读写Excel文件二、VBA设置单元格属性三、VBA弹出输入和输出窗口参考文档一、VBA读写Excel文件VBA简介及打开Excel文件方法见VB ... [详细]
author-avatar
漂亮的花裙子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有