微信号:Ryuyan360

介绍:【R语言】公众号是数据人网专注分享和传播R语言知识的平台,包括但不限于:R基础、R画图、R案例、R与数据分析、R与数据挖掘、R与机器学习、R与数据科学、R与数据工作等相关内容,用心做好点滴事情.

【R微课】14天用R做机器学习第二天

2016-03-15 20:39 陆勤

小编有话说:感谢伙伴们的支持和鼓励,收到很多伙伴们的留言,感受到一些伙伴们学习R语言和用R语言做机器学习的热情。


14天微课,小编希望达到这样的效果:

1 R入门了(深入挖掘,请继续Coding和Practice);

2 RStudio基本会用了;

3 关键是用R能够完整的做起机器学习项目了(学完之后,会有成就感的);

4 能够知道接下来要学什么以及怎么学了(有点无师自通的feeling)。


14天微课,适合的对象:

1 想用R做项目的伙伴们;

2 想用R解决机器学习的伙伴们;

3 想用R折腾点案例的伙伴们;

4 想把机器学习理论付诸实践的伙伴们。


14天微课,不会涉及到内容:

1 机器学习算法的原理详细介绍(机器学习水很深,却很有意思。阿法狗前三句战胜李世石,大家怎么看??);

2 R语言向量化编程和效率优化(记得,钱是你的,资源是大家的,不要浪费资源);

3 代码不会逐一解释(请见谅)。


第二天:厚积薄发,跬步千里——掌握和实践R基本语法

如何掌握和实践R的基本语法呢?

首先,伙伴们要知道R基本语法的构件,小编觉得这四大块,尤为重要,需要优先实践。

1 实践R的赋值语句;

2 实践R的常用数据结构,重点是向量、矩阵、列表、因子和数据框;

3 实践R的结构化流程——条件结构和循环结构;

4 实践R的函数和R扩展包的下载与使用。


接下来,让我们一起来Coding吧

小编逐一实践如下

1 R赋值语句

使用赋值符号“<-",例如:

myName <- '陆勤'

ourProject <- '数据人网是数据人学习、交流和分享的平台'

想一想: <- = 有什么差异和应用场景??


2 R常用数据结构,向量、矩阵、列表、因子和数据框

2.1向量,用c()函数

myVec <- c(100, 360)

想一想:向量还有那些方法可以生成?赶快Coding验证一下,还记得高中的数列吗??


2.2矩阵,用matrix()函数

2.3列表,用list()函数

2.4因子,用factor()函数

2.5数据框,用data.frame()函数


想一想:如何快速地学习和使用这些函数?当然是找帮手了,R中独特的帮助,要么help(),要么问一下?,还有例子学习法,example(),小编以matrix()函数为例。

找帮助:help(matrix)或者?matrix

看实例:example(matrix)

最后,就是【立刻Coding】


3 R的结构化流程——条件结构和循环结构

现实生活中,条件那么地常态化,循环那么的亲切化,想一想,我们总跟条件和循环这逻辑打交道,如果我学习了,我就能进步;如果我不学习了,我就落后了。我学习了,我进步了,我进步了,我继续学习了,我继续学习了,我继续进步,周而复始,我越来越优秀了。哈哈,看到了吗,条件来了,循环也出现了。

3.1 条件结构

R语言,也不例外。小编用的比较多是ifelse()函数,喜欢一体化,例如:

ifelse('投资期限级别’ > 3, 1, 0)

想一想:R中还有什么方法,可以实现条件这种结构?写个代码测试一下。

3.2 循环结构

R语言循环结构,小编用的比较少。正如小编倡导,“不要浪费资源”,使用循环,对于数据量大时,比较耗资源。不管怎么样,我们还是要知道,有时候“笨方法或许是最好的方法”,for()循环,来一个高斯小时候算的1到100的 累加和,例如:

sum <- 0;

for(i in 1:100)

{

    sum <- sum + i

}

print(sum)

拓展:R的向量化编程和R的apply族函数(这个问题小编在面试的时候中枪了,只怪当初学艺不精)


4 R的函数和R扩展包下载和使用

R中提供了很多函数,可以直接拿过来使用,并且还很好用了,除此之外,R中也可以自己编写函数,如何写一个好的函数,小编也说不清楚,各自开悟吧。大道至简,我们还是以高斯计算1到100之和,通过函数求解:

方法一:

利用现成的函数,sum()函数,例如:

sum(1:100)

方法二:

定义一个求和函数 add()函数

add <- function(x)

{

   sum <- 0;

   for(i in 1:x)

   {

      sum <- sum + i

   }

   return sum

}

add(100)

R之所以强大,R的扩展包发挥巨大作用,比方说,小编最近用的caret包,它就是一个扩展包,你要用它,就得先安装这个包,安装好后再加载,就可以使用这个包了。

安装R包,install.packages("caret")

加载R包,library("caret")


关于这个caret包,具体的用法,网络检索关键词:caret R即可找到官网介绍。


写到这里,今天小编要说的,也要花上句号了。学习是没有止境的,多说也是没有作用的。


伙伴们,想更加详实地学习R语法基础,推荐阅读《R语言实战》的前面章节的内容,里面说的很清楚,也很好用。


期待伙伴们的见解哦。

第三天的内容,小编会继续来说,下回见,伙伴们。


更多精彩内容,请点击阅读原文。

数据人网(http://shujuren.org),数据人学习、交流和分享的平台,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值。为“让人懂数据、用数据”之使命坚持做点事情。大家可以来投稿,做分享和传播,可以给反馈。您有什么想法,请反馈给我们,谢谢。数据人网,我们共建和共享。

数据人网构建了数据人圈子,诚邀热爱数据和应用数据的伙伴们入群(马上就要突破500人了),加小编微信:luqin360,注明入圈子。

       数据人网官方公众号:数据科学自媒体,分享数据科学干货。

      

      



 
R语言 更多文章 【R每日一贴】怎么下载R安装程序? 【R每日一贴】R新手,如何学习R? 【R每日一贴】R的一个简单实例? 【R书籍推荐】《R实战》 【R每日一贴】R的数据类型有哪些?
猜您喜欢 释放心中的野“码”——饿了么黑客马拉松大赛接受报名啦! 设计模式开篇之设计原则 抛弃jQuery,拥抱原生JavaScript github上的awesome-android 系列 进军大数据领域 运营商需先强身