R语言第一周

哈哈,闲来无事,木木童鞋报名参加了tigerfish老师为期12周的R语言学习的课程,不出意外的话我将在博客里记录这12周的学习过程,希望最后的学习能达到预期的效果。

好了闲话不多说,开始吧:

1、学习r语言的工具:

Rgui和安装方式:软件下载地址及安装指导:http://download.csdn.net/detail/changyanmanman/4375945

2、软件使用:向量、矩阵、数组、数据框

函数c():创建一个向量:x=c(1,3,4,2,5,7,6) ——查看x的内容:x 回车——查看x的类型:mode(x)——查看长度(即x里面元素的个数)length(x)——查看里面的最大值最小值范围range(x).——求x的中位数median(x) ;——mean(x)求平均值;

函数rbind() ,cbind() 矩阵合成;

sum(x)求和;

max() min()最大最小;

vax()求方差:var(x) = sum((x − mean(x))2)/(length(x) − 1).

prod()连乘;

sd()标准差; 

产生向量:

>1:10    ——产生1到10的一个向量;>1:10-1  ——向量的每个项都减1; >1:20*2   ——向量每一项都乘2; >2:60*2+1   ——产生2到60的向量,每一项都先乘以2,然后加1.

>a=2:60*2+1 向量赋给a。  >a[5] 显示向量a中的第5个元素。>a[-5] 除了第5个元素不显示,其他都显示出来

>a[1:5] 显示向量中的第1到第5个元素。 同理:>a[-(1:5)] 除了1到5这几个元素不显示,其他的都显示。

注意:a[1,2,3] 这个格式是不对的。a[c(2,4,7)]显示第2,4,7个元素。 a[3:8]第3到第8个元素。a[a<20] 列出小于20的元素。

seq() 函数:按照指定指定的方式产生向量

seq(5,20) 产生从5到20的一个向量,默认公差是1。 seq(5,121 by=2) 产生5到121的一个向量,公差定义为2。seq(5,121,length=10)产生一个长度等于10的向量,公差由R自己算。

letters[1:30] 产生字母向量的函数。

which()函数: which.max(a);which.min(a)  ——a向量中最大最小的下标。

求a向量中最大的元素:a[which.max(a) ]    中括号内部返回的下标,最后返回最大值。which(a==2) 返回a向量中值等于2的下标。

a[which(a==2)] 。 which(a>5) 。。a[which(a>5)]...很简单了哈。。

rev()和 sort()函数:

rev():把一个向量倒叙。。

sort() 从小到大排序。。 rev(sort(a))正序排列a;

matrix()函数:

生成矩阵函数;matrix(al,nrow=3,ncol=4) 生成3行4列的矩阵,默认从列开始数。

如果是:matrix(al,nrow=4,ncol=3 byrow=T) 表示按行开始数。

函数t() :矩阵转置函数:

a是一个矩阵:a+b ; a-b :对应的元素相加减。

函数diag(): 求对角线,对于一个方阵a,diag(a) 可以返回a的对角线。diag(4) 构建一个4阶矩阵,对角线都为1,其余的为0. 

可以用向量来作为对角线形成对角线矩阵:diag(b) b是向量,而不是矩阵。 

矩阵求逆,函数rnorm() , solve():

rnorm(12)产生正态分布的向量。

solve(): 求逆矩阵;

solve()函数求解方程组:

矩阵相乘:

数组:

判断是不是向量:>is.vector(x)            判断是不是数组:>is.array(x)   

如何把向量变成数组呢?加上维度:dim(x)<-c(2,3)    现在就变成了一个2行3列的数组了。也是一个矩阵。矩阵是数组的一个特殊情况。因为数组可以有三维四维。。。等多维。

数据框:

数据框与数组(矩阵)的不同就是数据框每一列数据类型可以不同,而数组必须全部是数值的。

可以把俩个长度相同的向量(向量的数据类型可以不同)用一个函数data.frame(x1,x2) 生成一个数据框。还可以替换列头:data.frame('重量'=x1,'运费'=x2);

画散点图:plot(x)

循环语句:

for(i  in 1:60) { a[i]=i*2+3 }

while(a[i]<121) {i=i+1; a[i]=a[i-1]+2 }

3、R脚本

source() 运行脚本函数:如source("test.r") 这就运行了工作目录下的r程序脚本test.r 如果目录在d盘根目录,应该这样写:

source("d:\\test.r") 注意是两个反斜杠,不是一个,因为一个是转义字符。

print() 打印函数:一般在命令窗口直接可以输入向量就可以打印,但是在脚本里是需要print()函数的。

4、综合习题

正态分布函数rnorm( )
泊松分布函数rpois( )
指数分布函数rexp( )
Gamma分布函数rgamma( )
均匀分布函数runif( )
二项分布函数rbinom( )
几何分布函数rgeom( )

时间: 2024-10-06 00:40:28

R语言第一周的相关文章

R语言第二周

1.画图函数 对于数据来说,转成图之后更加详细,生动.下面介绍常见的作图函数: 直方图:hist(x$x1) : 表示将x数据框中的x1列做出一个直方图: 散点图:plot(x$x1,x$x2):x数据框的x1为横坐标,x2列为纵坐标,做一个散点图: 散点图的进一步设置: plot(x$x1,x$x2,main="数学分析与线性代数成绩之间的关系", xlab="数学分析", ylab="线性代数", xlim=c(0,100), ylim=c(

微软亚太区资料科学总监:R 语言是 VS 生态第一顺位

微软在2015年并购R语言工具商Revolution Analytics之后,随即在2016年,也开始在自家主力开发工具Visual Studio上,支援R语言.微软将如何定位R语言在微软开发工具链的位置?微软亚太区资料科学总监Graham Williams直言:「R是Visual Studio生态系的第一公民!」 拥有30年资料探勘研究经历的Graham Williams,是运用R语言来进行资料探勘研究的先驱之一,早在10年前更开发一款R语言资料探勘的图形化工具Rattle. 他在2016年进

为什么R语言是学习数据分析的第一选择

刚开始学习数据科学的人都会面对同一个问题: 不知道该先学习哪种编程语言. 不仅仅是编程语言,像Tableau,SPSS等软件系统也是同样的情况.有越来越多的工具和编程语言,很难知道该选择哪一种. 事实是,你的时间有限.学习一门新的编程语言相当于一项巨大的投资,因此在选择语言时需要有战略性. 很明显,一些语言会给你的投资带来很高的回报(付出的时间和金钱投资).然而其他语言可能是你每年只用几次的纯粹辅助工具. 我给你的建议就是:先学习R语言 专注于一种语言 在说明为什么你应该学习R语言之前,我想强调

《R的极客理想——高级开发篇 A》一一1.1 R语言知识体系概览

1.1 R语言知识体系概览 问题 如何高效地学习R语言? 引言 最近遇到很多想转行做数据分析的程序员,他们刚开始学习R语言.很多人以为有了其他语言的编程背景,学习R语言就是一件很简单的事情,因而一味地追求速度,但不求甚解.有人说2周就能掌握R语言,但其实掌握的仅仅是R语言的语法,只能算是入门. R语言的知识体系并非语法这么简单,如果都不了解R的全貌,何谈学好R语言呢?本节将介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言.1.1.1 R语言的知识体系结构 R语言是一门统计语言,主要用

《R语言数据分析》——3.2 聚集

本节书摘来自华章出版社<R语言数据分析>一书中的第3章,第3.2节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘怡 译,更多章节内容可以访问"华章计算机"公众号查看. 3.2 聚集 最直接的数据汇总方法应该是调用stats包的aggregate函数,该函数能支持以下我们期望的功能:通过分组变量将数据划分成不同的子集,并分别对这些子集进行统计汇总.调用aggregate函数的最基本方法之一是传递待聚集的数值向量,以及一个因子变量,该因子变量将定义参数FUN的值,

《R语言数据分析与挖掘实战》——3.2 数据特征分析

3.2 数据特征分析 对数据进行质量分析以后,接下来可通过绘制图表.计算某些特征量等手段进行数据的特征分析. 3.2.1 分布分析 分布分析能揭示数据的分布特征和分布类型.对于定量数据,欲了解其分布形式是对称的还是非对称的.发现某些特大或特小的可疑值,可做出频率分布表.绘制频率分布直方图.绘制茎叶图进行直观地分析:对于定性数据,可用饼形图和条形图直观地显示分布情况. 1.定量数据的分布分析 对于定量变量,选择"组数"和"组宽"是做频率分布分析时最主要的问题,一般按照

机器学习算法基础(Python和R语言实现)

简介 谷歌的无人驾驶汽车已经受到了世人很大的关注,但公司的未来却是在机器学习领域,因为这项技术将使电脑更智能,更人性化.--埃里克·施密特(谷歌主席) 我们可能正经历着人类最明确定义的阶段,这个阶段计算机计算从大型主机,到个人电脑,到云计算.但这些并不是根本原因,而是接下来几年中将会发生的. 这个时期使那些像我一样的人们兴奋的是工具和技术的开放,这得以于计算机领域的蓬勃发展.今天,作为一名数据科学家,我能以很低的成本搭建一个拥有复杂算法的数据处理系统.但是达到这样的结果,我也经历了在黑夜中艰苦的

Select-sql周周谈-第一周

前言 本文将以若干实例讨论 SELECT-SQL 在Visual FoxPro 与SQL Server 中的应用.我们将采用SQL Server 2000 英语版的示例数据库 Northwind 作为蓝本,笔者已经将此数据库转换为Visual FoxPro的数据,您可以下载使用.笔者的采用的实验环境是:SQL Server 2000(E).Visual FoxPro 7.0(E).当然你使用SQL Server 7以及Visual FoxPro 6也同样可以得到效果,毕竟SELECT-SQL是最

R语言中的循环函数(Grouping Function)

R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是对一个Matrix或者Array进行某个维度的运算.其格式是: Apply(数据,维度Index,运算函数,函数的参数) 对于Matrix来说,其维度值为2,第二个参数维度Index中,1表示按行运算,2表示按列运算.下面举一个例子: m<-matrix(1:6,2,3) 构建一个简单的2行3列的矩