博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html

 ---

好久没发博客

且容我大吼一句

终于做完这周R Programming的作业了!

之前一直有报coursera的课程,但是总是没有坚持下去,这次收到他们的邮件推广,说data science系列课程开通了R语言的中文课程,有中文版论坛,有中文字幕,如此诚意满满,再不报名,就实在太落伍了。

为了让自己坚持,还花钱买了signature track,所以当这周五收到助教通知说,第一个编程作业周日就要截止啦,简直让我晴天霹雳

然后周六花了一天时间看视频,看GITHUB里一位大牛对这篇assignment的讲解,终于完成了三个函数的编写

总结一下经验

1)遍历文件夹,读取所有数据

files_list<-list.files(directory,full.names=TRUE) #遍历文件夹里的文件名,这里选择fullname,就可以读取工作目录下文件夹内的文件了
dat<-data.frame() #需要事先设定data.frame框架,否则下列rbind循环会报错
for (i in id){
dat<-rbind(dat,read.csv(files_list[i])) #这里用rbind,把dat与新读取的文件联合。
}

2)循环与if嵌套时,要注意}的应用,否则程序会报错

    for (i in 1:332) { #这里有嵌套
语句
if (sum(complete)>threshold) #注意括号以及下列{}的引用
{语句1}
else {语句2}
}

然后对于WEEK2的课程,总结下来是:

1)尽量用有hard limit的for语句,而不是repeat或者while语句做循环,避免无限循环

2)循环语句嵌套2-3层即可,如果要多层嵌套,请先思考有无简易函数可用

3)R的全局环境,R包等,以及R为什么要把所有数据都读入内存(控制流)

4)R自编函数的主要目的是,省略重复劳作,对代码引用更加轻松

题外话

另外,在学习这门课之余,到MOOC逛,他们最近有一个叫做hour of code的活动,号召大家从小代码开始(放下IPHONE,开始编程)。

如果新生代从小开始就接触编程,那么十几年后,我们这些老人的优势在哪里呢?上海R语言会议上,有多个公司展示了他们用R做自动化报表的过程,这些原本需要人工多天的劳动,引入R后,均自动化了。那么如果所有的事情都自动化了后,拿着excel当饭吃,不思进取的所谓数据分析师,他们未来的出路又在哪里?

当编程语言逐步发展,当编程成为小学生必修课程,当excel可以做得事情,有R可以做得更好,不进步的人,就会被社会淘汰

believe tech, use tech, follow tech, can't stop

以此共勉。

---

博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html

 

Coursera系列-R Programming第二周的更多相关文章

  1. Coursera系列-R Programming第三周-词法作用域

    完成R Programming第三周 这周作业有点绕,更多地是通过一个缓存逆矩阵的案例,向我们示范[词法作用域 Lexical Scopping]的功效.但是作业里给出的函数有点绕口,花费了我们蛮多心 ...

  2. Coursera系列-R Programming-Final Week-Assignment3 & 总结

    博客总目录,记录学习R与数据分析的一切:http://www.cnblogs.com/weibaar/p/4507801.html  ------- 经过周末一个半天的努力,终于把这次的Assignm ...

  3. 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第二周:(Basics of Neural Network programming)-课程笔记

    第二周:神经网络的编程基础 (Basics of Neural Network programming) 2.1.二分类(Binary Classification) 二分类问题的目标就是习得一个分类 ...

  4. 《深度学习-改善深层神经网络》-第二周-优化算法-Andrew Ng

    目录 1. Mini-batch gradient descent 1.1 算法原理 1.2 进一步理解Mini-batch gradient descent 1.3 TensorFlow中的梯度下降 ...

  5. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  6. 20145218 《Java程序设计》第二周学习总结

    Java中的注释格式 单行注释 //注释文字 多行注释 /注释文字/ 文档注释 /**注释文字*/ 注释不仅仅是对代码进行解释,在上一篇博客中也写过,注释也可以用来检查程序中的错误,可以说是一个小窍门 ...

  7. 201521123038 《Java程序设计》 第二周学习总结

    201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...

  8. 20155306 2017-2018-1《信息安全系统设计》第二周课堂测试以及myod的实现

    20155306 2017-2018-1<信息安全系统设计>第二周课堂测试以及myod的实现 第二周课堂测验: (注:前两项在课堂已提交,在此不做详解) 第一项: 每个.c一个文件,每个. ...

  9. 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...

随机推荐

  1. Entity Framework 中使用SQL Server全文索引(Full Text Search)

    GitHub:https://github.com/fissoft/Fissoft.EntityFramework.Fts EntityFramework中原来使用全文索引有些麻烦,需要使用DbCon ...

  2. 系统集成方案(一).NET集成方案

    NET系统集成有自己独立的登录验证方式.比如,跟报表集成时,不需要再使用报表内置的登录界面,只需要将报表默认的参数用户名fr_username和密码fr_password发送给报表系统,触发一下报表验 ...

  3. NIO与AIO,同步/异步,阻塞/非阻塞

    1.flip(),compact(),与clear()的使用 flip()内部实现,先将limit设为当前位置,再将缓冲区的postion设为0,所以是为将缓冲区的数据写出到其它通道或者get()作准 ...

  4. 《InsideUE4》-5-GamePlay架构(四)Pawn

    <InsideUE4>-5-GamePlay架构(四)Pawn Tags: InsideUE4 我像是一颗棋 进退任由你决定 我不是你眼中唯一将领 却是不起眼的小兵 引言 欢迎来到Game ...

  5. Python黑客编程ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  6. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 服务器之间的接口通讯功、信息交换

    1:当远程调用方法时,会有很多种可能性发生.接口调用之后,发生错误是什么原因发生的?反馈给开发人员需要精确.精准.高效率,这时候若能返回出错状态信息的详细信息,接口之间的调用就会非常顺利,各种复杂问题 ...

  7. iTextSharp生成pdf的一个简单例子

    效果图: 参考:http://www.cnblogs.com/CareySon/archive/2011/11/09/2243496.html http://www.cnblogs.com/julyl ...

  8. ionic配置 问题小记

    1.用命令ionic start myApp tabs新建项目时,在最后面提示ionic\cli.js报错的问题(具体问题描述忘记了) 安装 node-inspector 即可 ,使用命令 cnpm ...

  9. 查看SQL Server被锁的表以及如何解锁

    锁定数据库的一个表的区别 SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新删除 SELECT * FROM table WITH (TABLOCK ...

  10. Android异步消息处理机制完全解析,带你从源码的角度彻底理解(转)

    开始进入正题,我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃.相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一 ...