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


    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[n]

    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

  • 相关阅读:
    Eclipse建立Java工程中的三个JRE选项的区别(Use an execution environment JRE,Use a project specific JRE,Use default JRE)
    Maven项目报错:Missing artifact****和ArtifactDescriptorException: Failed to read artifact descriptor for***和Cannot change version of project facet Dynamic web module to 2.5
    使用jdk的keytool 生成CA证书的方法
    Linux shell逐行读取文件的方法
    ArrayList的实现原理
    时间复杂度总结
    RPC的原理总结
    hashcode和equals方法的区别和联系
    消息队列的应用场景总结
    Java中IO流中的装饰设计模式(BufferReader的原理)
  • 原文地址:https://www.cnblogs.com/hunttown/p/5452495.html
Copyright © 2020-2023  润新知