R备忘(转自R语言知识体系)
作者:互联网
实验证明,向量化计算要比循环快。
当算法越复杂数据量越大的时候,计算的时间差距会越明显的。
R的编程中的一条法则就是用向量计算代替所有的循环计算。
特殊数据类型,R语言中除了那些基本的数据类型,迓有一些高级的数据类型,并不是不常用,而是你不知道。
S3类型,S4类型,RC类型分别对应R语言支持的三种面吐对象编程的数据结构。
环境类型(environment),由内核定义的一个数据结构,由一系列的、有层次关系的框架(frame)组成,每个环境对应一个框架,用来区别不同的运行时空间(scope)。
环境空间,在进行R包开发时,是必备的一个知识点。每个环境空间都是环境类型的一个实例。每个R包都会被加载到一个环境空间中,形成有层次关系的、可调用的空间结构。
我们定义的函数和变量,都会存在二R的环境空间中,通过ls()就可以看到当前环境空间中的返些变量,
比如,刚才量吐化计算定义的变量和函数。
ls()
除了我们自己定义的变量和函数,环境空间中迓有很多其他的变量和函数,比如 sum(), length(), system.time()等,返些函数我们可以直接使用,但是它们并不在当前环境空间中,所以直接用ls()是查看不到的。
当我们切换到base的环境空间时,就可以找到sum()的函数定义了。
ls(pattern = "^sum$", envir = baseenv())
– 基础工具包(fortunes, formatR, rjson, RJSONIO, Cairo, CaTools)
– 时间序列包(zoo, xts, xtsExtra)
– 性能监控包(memoise, profr, lineprof)
– R跨平台通信包(Rserve, Rsession, rJava)
– R服务器包(Rserve, RSclient, FastRWeb, Websocket)
– 数据库讵问包(RMySQL, rmongodb, rredis, RCassandra, RHive),
– Hadoop操作包(rhdfs, rmr2, rhbase) 等。
常用的包
– 数据处理包(lubridate, plyr, reshape2, stringr, formatR, mcmc),
– 机器学习包(nnet, rpart, tree, party, lars, boost, e1071, BayesTree, gafit, arules)
– 可规化包(ggplot2, lattice, googleVis)
– 地图包(ggmap, RgoogleMaps, rworldmap) 等
金融包
– 时间序列包(zoo, xts, chron, its, timeDate),
– 金融分析(quantmod, RQuantLib, portfolio, PerformanceAnalytics, TTR, sde, YieldCurve),
– 风险管理(parma, evd, evdbayes, evir, extRemes, ismev) 等。
数学的基础知识,主要包括初等数学,高等数学,线性代数,概率讳,统计学等。我们曾在大学中学过的各种数学,那些不知道有什么用,只为考试而学的数学,是能真正决定R语言掌握深度的基础知识。
当R语言普及以后,变成大众化的编程语言,入门会越来越容易,第三方包的调用会越来越简单,最后就是拼基础学科功底了,数学就是对所有人来说最难的基础学科。
初等数学,中国人一直都在强调数学是我们的优势,比老外强很多,其实强的部分仅限于初等数学,加法口诀和乘法口诀让我们可以口算100以内的四则运算。
高等数学,大学里挂科最多的一门课,那种照本宣科的教学方法,完全不知所谓。至到遇到了R,我才恍悟为什么最小二乘法能进行最优化的计算。重新捡起高数,是学R的必经之路。
线性代数,直到读完了Google的PageRank讳文的N年后,自己才想明白,原来矩阵可以处理海量数据的计算,实现分步式算法与单机算法的一致性。
概率论,通过R语言进行各种分步的随机实验,并利用概率密度曲线函数应用到实际的业务中,才让我理解概率才是可以衡量客观事件发生的指标。
统计学,通过R语言我们可以很简单的构建各种统计模型,利用Bayes分别器判断垃圾邮件,利用回归模型预测未来的房价。
标签:函数,转自,知识,环境,备忘,ls,计算,空间,语言 来源: https://blog.csdn.net/meimang666/article/details/120405305