您的位置:首页 > 其它

R语言学习笔记:基础知识

2016-05-02 16:00 239 查看
1、数据分析金字塔



2、【文件】-【改变工作目录】

3、【程序包】-【设定CRAN镜像】

【程序包】-【安装程序包】

4、向量 c()

例:x=c(2,5,8,3,5,9)

例:x=c(1:100) 表示把1 - 100的所有数字都给x这个变量

5、查看x的类型:>mode(x)

6、查看x的长度:>length(x)

7、将两个向量组成一个矩阵:

>rbind(x1, x2) 注:r是row的意思,即行,按行组成矩阵。

>cbind(x1, x2) 注c是column的意思,即列,按列组成矩阵。

8、求平均值:>mean(x) 注:R语言大小写敏感

对列求平均值:colMeans(x)

apply(x, 2, mean) --对x在列的方向求平均值,如果2改成1则对行求平均值。很强大。

求和:>sum(x)

求最小值:>max(x)

求最大值:>min(x)

求方差:>var(x) 作用:反应数据离散的情况,方差越大离散情况越大。

求标准差:>sd(x) 作用:和方差反应的差不多

求连乘:>prod(x)

9、帮助:>help(mode) 或 ?mode

10、等号:<- 的功能等同于 =,都是赋值的意思。

11、向量的产生

1)形成等差向量:>1:10

2)形成的向量每个都减1:>1:10-1

3)形成的向量每个都乘以2:>1:10*2

4)形成的向量先乘以2再加1:>1:10-2+1

5)显示向量x的第n个元素:>x

6)向量x除了第n个元素不显示,其它都显示:>x[-n]

7)把向量x中的第1到5个元素显示出来:>x[1:5]

8)向量x除了第1到5个元素不显示,其它都显示:>x[-(1:5)]

9)把向量x中小于20的元素显示出来:>x[x<20]

12、按照指定的规律形成向量:>seq(5, 20) --形成从5到20的向量,步长为1。

>seq(5, 20, by=2) --步长为2进行增长,可以简写为:>seq(5, 20, 2)

>seq(5, 200, length=10) --形成10个从2到200的向量。

13、产生26个字母的向量:>letters[1:30]

14、which()函数

>x=(2,4,5,6,8,4,5,8,6,9,0,7,1)

>which.max(x) --取得向量x中最大值的下标。

>x[which.max(x)] --这个可以取出向量x中的最大修正。

>which(x==2) --取出向量x中值为2的元素下标。

>which(x>5)

15、将向量颠倒:>rev(x)

16、升序:>sort(x)

除序:>rev(sort(x))

17、生成矩阵的函数:>matrix()

>x=(1:20)

>matrix(x, nrow=4, ncol=5) --把向量x生成一个4行5列的矩阵,默认是按列生成。

>matrix(x, nrow=4, ncol=5, byrow=T) --把向量x生成一个4行5列的矩阵,按行生成。

18、矩阵行列转换函数:>t()

例如:矩阵x 4行5列

>t(x) --x变成了5行4列

矩阵加减时,两个矩阵要有相同的行列数。

19、矩阵相乘:>x%*%y

20、求方阵的对角线:>diag(x) --x是矩阵,方阵。

生成以向量x为对角线的矩阵:>diag(x) --x是向量

形成4阶的单位矩阵:>diag(4)

21、按正态分步形成一个16个数字的向量:>rnorm(16)

22、矩阵求逆:>solve(x) --运算结果是解线性方程组ax = b,若b缺省,则系统默认为单位矩阵,因此可用其进行矩阵求逆。

例:>solve(2, 6) 结果为:3,注:参数可以是向量也可以是矩阵。

23、求矩阵的特征值:>eigen()

24、判断是否是向量:>is.vector(x)

判断是否是数组:>is.array(x)

判断是否是矩阵:>is.matrix(x)

25、将一个向量转化成矩阵(数组)

>x=c(3:8)

>dim(x)<-c(2,3) --形成一个2行3列的矩阵,矩阵就是一个多维的数组。

26、数据框与矩阵

矩阵里的数据都是数字类型,但是数据框里是各种形态。在实际应用中,数据框更贴合我们。

行称为观测值,列称为变量。

生成数据框:>data.frame(x1, x2) --x1、x2是两个长度相等的向量,也就是两个列。

27、散点图函数:>plot(x) --x是上面形成的数据框。

plot()是一个博大精深的函数。

28、读文本数据。首先要设置工作目录,然后把文件放于该目录下。

>(x=read.table(“abc.txt”))

文本或excel的数据均可通过剪切板操作。

>y<-read.table(“clipboard”, header=F)

29、读excel数据方法一

首先另存为csv文件,然后:>read.csv(“1234.csv”, header=T)

30、读excel数据方法二

首先安装RODBC包,安装方法见上;

然后装载RODBC:>library(RODBC)

接着读取excel文件:>z<-odbcConnectExcel(“test.xls”)

最后读取数据:(w<-sqlFetch(z, “Sheet1”))

31、for循环语句

>for(i in 1:59) {a[i]=i}

>a

32、while循环语句

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

33、运行R脚本函数:>source(“D:\\h.r”)

在脚本中输出要用print()函数,否则看不到结果。这个和控制台输出不一样。

34、几个常用函数

正态分步函数:rnorm()

泊松分步函数:rpois()

指数分步函数:rexp()

Gamma分步函数:rgamma()

均匀分步函数:runif()

二项分步函数:rbinom

几何分步函数:rgeom()

四舍五入函数:round()

35、将数据框写入文本文件

>write.table(x, file=”D:\\mark.txt”, col.name=F, row.name=F, sep=””)

36、绘制直方图函数:hist()

对x数据框中的x1列进行绘制直方图:>hist(x$x1)

37、体现某两列的关联关系,绘制x1,x2列的散点图:>plot(x$x1, x$x2)

38、列联表分析

首先进行列联分析:>table(x$x1)

然后绘制柱状图:>barplot(table(x$x1))

39、饼图函数:<pie()

例:pie(table(x$x1)) --同样要先进行列联

40、箱尾图:>boxplot(x$x1, x$x2, x$x3) --体现数据的集中情况,与方差的作用差不多。

异常值、孤立点要排除掉

水平箱尾图:>boxplot(x$x1, x$x2, x$x3, horizontal=T)

41、星相图:>stars(x[c(“x1”, ”x2”, ”x3”)])

其它样式:> stars(x[c(“x1”, ”x2”, ”x3”)], full=T, draw.segment=T)

42、脸谱图:>faces(x[c(“x1”, ”x2”, ”x3”)])

首先要安装aplpack包。

43、茎叶图:>stem(x$x1)

体现每一个区间段有多少人。

44、QQ图

>qqnorm(x1)

>qqline(x1)

用于判断是否正态分步、直线的斜率等

45、散点图



46、连线图



47、画线函数:>lines(x$x1, type=”l”, col=”blue”, lwd=2) --lwd:线宽

48、密度函数:>density()

49、R语言内置数据集:>data()

50、热力图函数:>heatmap()

51、散点图集:>pairs()

52、在同一个device中输出多个散点图:>par(mfrow=c(3,1))

53、查看有多少颜色:>colors()

54、关于绘图参数



55、三维散点图

首先安装scatterplot3d包

>scatterplot3d(x[2:4])

56、调和曲线图,目的是用于聚类判断非常方便

>source(“D:\\unison.R”)

>unison(x[2:4])

57、地图

首先安装maps包

>map(“world”, fill=TRUE, col=head.colors(10))

58、社交数据可视化

首先安装maps包和geosphere包,并加载。

画出美国地图:>map(“state”)

更多……

59、概率的相关知识(自己学习)

概率:

必然事件:

不可能事件:

对立事件:

互斥事件:

概率密度:

离散型分步:两点分步、二项分步、泊松分步

连续型分步:均匀分步、指数分步、正态分步

60、向量可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。

61、R语言的各种分步函数



62、随机变量的数字特征

1)期望(平均值)

2)方差,可以理解为样本点距均值点的距离。

标准差

63、总体与抽样

大数定理与中心极限定理的意义

常用统计量:样本均值,样本方差,标准差,众数,最小值,最大值,分位数,中位数 median(),百分位数 quantile(),上下四分位数。

64、五数总括:>fivenum(x$x1, na.rm=TRUE)

中位数,下四分位数,上四分位数,最小值和最大值

65、相关系数:>cor(x$x1, x$x2), cor.test(x$x1, x$x2)

协方差:>cov(x$x1, x$x2)

66、一元线性回归,解决预测。

最重要的是把回归直线求出来。

>lm(w~1+h) --线性模型函数

>summary(a) --查看详情信息

预测函数:

>z=data.frame(x=185)

>priedict(a, z)

前提:数据必须是正态分步、因变量和自变量必须是线性关系。

67、建立多元线性回归模型

>s=lm(Fertility ~ ., data=swiss) --点的含义是除因变量外所有的自变量

>print(s)

>summary(s) --查看模型汇总信息

注:如果不合适就要不停的修正,直到最好。方法如下:

--逐步回归

--向前引入法

--向后剔除法

--逐步筛选法

>step(s, direction=”forward”) --上面的方法无需手动操作,公式自动完成。

68、正态分步检验函数:>Shapiro.test()

69、R抽取随机数:> sample(0:1, size=30, replace=TRUE)

70、MIC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: