logo资料库

10天从零入门数据挖掘R语言.docx

第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
资料共32页,剩余部分请下载后查看
1、使用R数据库接口
2、使用ODBC连接
R语言连接mySQL数据库步骤
1. R 语言介绍 10 天从零入门数据挖掘R 语言 数组。在数据集中存储了各种数据。 型,字符型或逻辑型数据的一维数组 据挖掘方面特别有优势。 2. R 语言安装环境 R 语言是一种数据挖掘工具,是为了统计计算和图形显示而设计的语言环境,由 贝尔实验室,R 语言是免费的,也是在跨平台的,可以在windows,Linux,MacOS 和UNIX。R 是一个功能强大的软件,有高水平的制图功能,包括条形图,柱图, 线性图等等。R 也有R 标准包和各个专业领域的包,对我们在做数据分析和数 R 语言的下载地址为(https://www.r-project.org/)根据不同的操作系统选择不 同的下载镜像。本文是基于MAC 系统的,所以下载的是MAC 操作系统的R 版 本 。 R 语 言 还 要 安 装 一 个 Rstudio 的 工 具 , 下 载 网 址 (https://www.rstudio.com/products/rstudio/)。有了这个工具,我们在操作R 编程的对字体,界面等外观做修改时候更加方便,对于R 脚本保存也更简单, 因此,我们在下面的章节中使用的都是RStudio 工具编写脚本。 3. R 基础3.1.R 的数据集 R 数据集是指这样一个数据结构,以行表示规则,以列表示变量,通常是指矩形 3.2.R 的向量 概念:向量(vector),是R 语言最基本的数据类型,向量是用于存储数值 创建:1.C()函数创建向量; 2.冒号:生成向量序列; 3.seq()函数创建实数序列,创建有规律的实数序列。 使用方法:seq(length=,from=,to=) length:指定生成个数 from:是指开始生成的点 to:截止点 如果不指定,则默认条件下:seq(N1,N2,BY=) n1:开始位置 n2:截止位置 by=指定间隔 4.rep(常数,N) 重复向量常数,创建一个所有元素都相同的向量 5.sequence(),创建一系列连续的整数序列,每个序列以每个参数的数 值结尾。Sequence(4:5),123412345 6.gl()函数可以生成不同的水平因子序列,具体用法如下: gl(n,k,length=n*k,labels=seq_len(n),ordered=FALSE) Arguments n anintegergivingthenumberoflevels. k anintegergivingthenumberofreplications. anintegergivingthelengthoftheresult. length labels anoptionalvectoroflabelsfortheresultingfactorlevels. ordered alogicalindicatingwhethertheresultshouldbeorderedor
not. 多个元素,用多个数字访问。 函数:1.访问向量里的元素:通过方括号,单个元素就是数字,访问 2.typeof() 查看向量里的元素的类型 3.mode(x) 查看模式(变量类型) R 不需要提前申明变量,大小写敏感,数组是从1 开始。 4.length(x) 获取向量的长度 5. 向量运算: a.相加:循环补齐 b.相乘:两个向量中的元素按相同位置的元素相乘,长度不统一 的话默认补1 c.点积%*% d. 取模%% e. 求和sum(向量) f. 最大值max(向量) g. 最小值min(向量) h. 平均值mean(向量) i. 取值范围range(向量) j. 排序sort(向量) k. 反排列rev(向量) rank(向量) 单元值大小排序 var(x)方差 prod(x)乘积,prod(1:n)阶乘 6.删除一个元素 向量[负号],表示删除第几个元素 7.all()和any().返回真或者假。all()表示所有条件都符合,any()表示 任意条件符合。8.NA 和NULL,NA 表示缺失值,NULL 表示空值,不被计算在内。 9.向量元素筛选,把满足条件的元素取出来 subset(向量,条件)自动把NA 剔除掉了 10.which(条件)找到满足条件的元素的位置 11.向量化的ifelse(条件,满足条件的执行,不满足条件的执行) 12.判断向量是否相等。 A.all(x==y), B.identical(x,y)–判断类型和值 c.equal(x,y)–近似相等。 13.names().给向量元素命名 14.append(向量,插入值,after=位置) 在第几个位置插入数据到 向量中。 15.replace() 替换函数 16.state.name: match(向量,state.name) 匹配
pmatch(向量,state.name) 部分匹配 必须相同。 先输入数据框名。 序因子两个类型。 符型,逻辑型)。 概念:矩阵是一个二维数组,每一个元素都拥有相同的模式(数值型,字 3.3.R 的矩阵 创建:1.matrix(data,nrow=,ncol=,byrow=F)函数创建,其中,data 是必须 填写的。Byrow=F 默认按列来排列数据。提取举证中的元素用[行数.列数] 2.diag() 创建对角矩阵或者单位阵 操作:1.矩阵乘法%*% 2.矩阵合并cbind(aa,bb),按列合并 3.矩阵合并rbind(aa,bb),按行合并 函数:dim(),获取行和列的维数 nrow(),获取行数 ncol(),获取列数 solve(),求逆矩阵 chol(),choleski 分解 svd(),奇异值分解 qr(),QR 分解 det(),求行列式 t() ,矩阵装置 dim(),给出行列数 apply(data,dim,function),dim=1 表示对行运用函数,取2 表示对列运 用函数对矩阵应用函数。Apply(xx,2,mean) =colMeans(xx) 列均值 Apply(xx,2,sum) =colSums(xx) 列求和 3.4. R 的数据框 创建:data.frame()来函数来创建。使用¥来提取数据框重点额元素,需要 3.5. R 的因子 概念:R 的因子Factor 是为了实现统计分类功能,它有两个内容,一个 是数据分类:levels,一个是数据。因子有辅助信息水平做为分类集合。因子的 元素是不同值的level 集的元素。根据类型来分类:因子水平是有普通无序和有 创建:factor(vector,levels=c(),ordered=TRUE).其中:levels 定义水平集合, 是一个整数向量,ordered 表示有序还是无序,区分普通因子和有序因子。 Ordered=TRUE 表示有序 函数:1.as.factor()可将数据转换为因子。 2.unclass()显示因子的分类, 操作:1.levels()提取水平的名称 2.为数据框设置因子变量 3.6. R 的列表 概念:数据框是把多种模式的数据放在一个举证中,同一行列的数据模式
基础是列表,列表元素的长度可以不相同。可以是单元素或者列表。 概念:R 列表是指R 的一种数据结构,有元素和标签组成。R 语言数据库按 的 创建:1.list(tag1=compon1,tag2=compon2,...,tagR=componR) 2. vector(), mode=list 函数:1.mode()数据类型。 2.length()列表组件个数。 3.names()获得标签 操作:1.访问列表标签的方法 list$标签名 a. list[[“标签名”]] b. c. list[[元素]] 2.访问列表元素的方法 list$[标签名][ 元素下标范围s:t] a. b. list[[标签编号]][元素下标范围s:t] 3.增加列表 a.标签名赋值 list$标签名=c() b. 标签下标索引赋值list[[3]]=c() 4.删除列表元素 将列表标签设置为NULL 5.生成子列表[] list[“标签名”]和list[编号] 6.合并多个列表c()或者list() 函数:1.unlist()把列表转换为向量。 2.is.recursive(x)可判断列表是否递归。 3.apply()获得标签 4.unnames()去掉元素标签。 5.is.list()返回值是否是列表 6.as.list() 转换产生列表 3.7 数组 概念:数组是类似矩阵的的数据结构,维度可以大于2,并且是数值型的向 函数:创建数组函数array(vector,dimensions,dimnames),其中,vector 表示 数组中的数据。Dimension 是一个给出了各个维度下标最大值的向量,dimnames 操作:查看数组结构dim(),attributes() 4.R 函数 1.typeof() 查看数据类型 2.class() 查看类型 3.str() 内部结构 4.summary() 4.1 数据管理 量。 是各维度名称标签的列表。
vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量 list:列表 data.frame:数据框 C:连接为向量或列表 Length:求长度 Subset:求子集 Seq,from:to,sequence:等差序列 Rep:重复 NA:缺失值 NULL:空对象 Sort,order,unique,rev:排序 Unlist:展平列表 Attr,attributes:对象属性 Mode,typeof:对象存储模式与类型 Names:对象的名字属性 4.2 字符串处理 character:字符型向量 nchar:字符数 substr:取子串 format:把对象用格式转换为字符串 paste,strsplit:连接或者拆分 charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换 4.3 复数 complex,Re,lm,Mod,Arg,Conj 4.4 因子 factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子 table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对”不规则”数组应用函数 4.5 数学相关计算 4.5.1 计算 +,-,*,/,^,%%,%/%:四则运算 ceiling,floor,round,signif,trunk,zapsmall:舍入 max,min,pmax,pmin:最大最小值 rnage:最大值和最小值
数学函数 sum,prod:向量元素和积 cumsum,cumprod,cummax,cummin:累加,累乘 sort:排序 approx.和approxfun :插值 diff:差分 sign:符号函数 abs,sqrt:绝对值,平方根 log,exp,log10,log2:对数和指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数 sinh,cosh,tanh,asinh,acosh,atanh:双曲函数 fft,mvfft,convolve:傅立叶变换及卷积 polyroot:多项式求根 poly:正交多项式 alpine,splinefun:样条差值 deriv:简单表达式的符号微分或算法微分 4.3 数组 array:建立数组 matrix:生成矩阵 data.matrix:把数据框转换为数值型矩阵 lower.tri:举证的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵转置 cbind:把列合并为矩阵 rbind:把行合并为矩阵 diag:矩阵对角元素向量或生成对角矩阵 row:矩阵的行下标集 col:求列下标集 aperm:数组转置 nrow,ncol:计算数组的行数和列数 dim:对象的维向量 dimnames:对象的维名 row/colnames:行名或列名 %*%:矩阵乘法 crossprod:矩阵交叉乘积(内积) outer:数组外积 kronecker:数组的Kronecker 积 apply:对数组的某些维应用函数 tapply:对“不规则”数组应用函数 sweep:计算数组的概括统计量 aggregate:计算数据子集的概括统计量 scale:矩阵标准化 matplot:对矩阵各列绘图
五、逻辑运算 四、线性代数 cor:相关阵或协差阵 Contrast:对照矩阵 solve:解线性方程组或求逆 eigen:矩阵的特征值分解 svd:矩阵的奇异值分解 backsolve:解上三角或下三角方程组 chol:Choleski 分解 qr:矩阵的QR 分解 chol2inv:由Choleski 分解求逆 <,>,<=,>=,==,!=:比较运算符 !,&,&&,|,||,xor():逻辑运算符 logical:生成逻辑向量 all,any:逻辑向量都为真或存在真 ifelse():二者择一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下标集合 duplicated:找到重复元素 optimize,uniroot,polyroot:一维优化与求根 六、优化及求根 程序设计 二、函数方面 一、控制结构 if,else,ifelse,switch:分支 for,while,repeat,break,next:循环 apply,lapply,sapply,tapply,sweep:替代循环的函数。 function:函数定义 source:调用文件 call:函数调用 .C,.Fortran:调用C 或者Fortran 子程序的动态链接库 Recall:递归调用 browser,debug,trace,traceback:程序调试 options:指定系统参数 missing:判断虚参是否有对应实参
三、输入输出 nargs:参数个数stop:终止函数执行 on.exit:指定退出时执行 eval,expression:表达式计算 system.time:表达式计算计时 invisible:使变量不显示 menu:选择菜单(字符列表菜单) 其它与函数有关的还有:delay,delete.response,deparse,do.call,dput,environment ,, formals,format.info,interactive, is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun, model.extract,name,parse,substitute,sys.parent ,warning,machine cat,print:显示对象 sink:输出转向到指定文件 dump,save,dput,write:输出对象 scan,read.table,load,dget:读入 ls,objects:显示对象列表 rm,remove:删除对象 q,quit:退出系统 .First,.Last:初始运行函数与退出运行函数。 options:系统选项 ?,help,help.start,apropos:帮助功能 data:列出数据集 四、工作环境 统计分析 一、统计分布 每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数函数, r――随机数函数。 比如,正态分布的这四个函数为dnorm,pnorm,qnorm,rnorm 列出各分布后缀,前面加前缀d、p、q 或r 就构成函数名: norm:正态 t:t 分布 f:F 分布 chisq:卡方(包括非中心) unif:均匀 exp:指数 weibull:威布尔 gamma:伽玛
分享到:
收藏