您好,欢迎访问三七文档
语言入门R语言简介R是开源的分析软件,在数据处理、统计、数据可视化方面具有较强的优势。R可运行于多种平台之上,包括Windows、UNIX和MacOSX。R可以轻松地从各种类型的数据源导入数据,包括文本文件、数据库管理系统、统计软件,乃至数据仓库。它同样可以将数据输出并写入到这些系统中。在R网站上,有四千多个程序包,提供了包括分析地理数据、处理蛋白质质谱,甚至是心里测验分析的功能。R是一种区分大小写的解释性语言。R的获取及安装R可以在上免费下载。Linux、MacOSX和Windows都有相应编译好的二进制版本。根据所选平台的安装说明进行安装即可。R包的安装及载入R自带了一系列默认包(包括base、datasets、graphics等)其他包可通过下载来进行安装。安装好需载入到会话中才能使用。包的下载及安装:(仅需一次)install.packages(“包的名称”)包的载入:(一个会话需载入一次)library(包的名称)数据的读取读取文本文件:read.table(“d:/data/salary.txt”,header=T)读取Excel数据:①安装并载入RODBC包②获取Excel连接:a-odbcConnectExcel(2007)(“d:/data/salary.xls(xlsx)”)③data-sqlFetch(a,”Sheet2”)④关闭ODBC连接,释放空间:close(a)数据的读取读取SPSS数据:①安装并载入foreign包②data-read.spss(“d:/data/salary.sav”,to.data.frame=T)—数据读入后为数据框变量③dim(data)读取数据库文件:①安装并载入RODBC包②建立连接访问数据库:channel-odbcConnect(“数据库名”,uid=“用户名”,pwd=“密码”)③访问数据表:sntl-sqlFetch(channel,“数据表名”)数据预处理缺失值处理:1.判断缺失数据:is.na();sum(is.na())2.处理缺失数据:①删去有缺失值的行:data2-data[!is.na(),]②替换缺失值:data[is.na(data)]-mean(SALARY[!is.na(SALARY)])③多重插补法(通过变量间的关系预测缺失数据)a)随机模拟数据:imp-mice(data,seed=1)b)线性回归:fit-with(imp,lm(SALARY~WORK+PRICE))c)回归结果:pooled-pool(fit)d)手动计算预测结果数据预处理数据整理:1.数据合并:按列cbind();按行rbind()2.取数据子集:data2-data[c(2,4),]—选取第二、四行3.数据排序:①order.salary-order(data$SALARY)②data[order.salary,]—排序结果基本图形条形图饼图NoneSomeMarked简单条形图ImprovementFrequency010203040US20%UK24%Australia8%Germany32%France16%饼图基本图形直方图点图Histogramofmtcars$mpgmtcars$mpgFrequency101520253001234567123456780102030405060xyR语言应用描述性分析回归分析方差分析相关性分析聚类分析时间序列分析数据的描述性分析集中趋势的分析:平均数、中位数、众数、分位数等。①summary()—计算出一组数据的最小值、25%四分位数、中位数、75%四分位数、最大值、平均数离散趋势的分析:①极差:m-range()—给出最小值和最大值两给点;m[2]-m[1]②方差var();标准差sd()数据的分布分析:①偏度:skewness()(偏度=0说明数据关于均值对称;0左偏;0右偏)②峰度:kurtosis()(峰度=0服从标准正态分布;0比较扁平;0更加尖峰)回归分析回归分析是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。原始数据集:年龄(月)平均身高(厘米)年龄(月)平均身高(厘米)1876.12479.919772581.12078.12681.22178.22781.82278.82882.82379.72983.5Step1:绘制散点图18202224262876788082ageheightStep2:建立回归模型并进行显著性检验回归方程:y=64.9283+0.635x(系数非常显著;F检验非常显著)18202224262876788082ageheightStep3:残差分析77787980818283-0.20.00.20.4FittedvaluesResidualsResidualsvsFitted3810-1.5-0.50.00.51.01.5-1.00.01.02.0TheoreticalQuantilesStandardizedresidualsNormalQ-Q381777879808182830.00.40.81.2FittedvaluesStandardizedresidualsScale-Location3810.000.050.100.150.200.250.30-1012LeverageStandardizedresidualsCook'sdistance0.50.51ResidualsvsLeverage3110Step4:删除异常点,重新拟合回归方程回归方程:y=64.554+0.6489xStep5:根据回归方程,给定年龄,预测身高估计值及其取值区间注:predict函数中使用的数据是data.frame或list格式在置信水平0.95下,年龄为30时,身高的预测值为84.02034,预测区间为[83.46839,84.57228]方差分析我们已经看到了通过量化的预测变量来预测量化的相应变量的回归模型,当包含的因子是解释变量时,我们关注的重点通常会从预测转向组别差异的分析,这种分析法称为方差分析。50个患者均接受降低胆固醇药物治疗,选择五种疗法中的一种。其中三种使用药物相同,分别是20mg一天一次,10mg一天两次,5mg一天四次,剩下的两种方式分别使用drugD,drugE。哪种方法降低胆固醇最多?Step1:单因素方差分析Step2:绘制带有置信区间的组均值图形5101520MeanPlotwith95%CITreatmentResponse1time2times4timesdrugDdrugEn=10n=10n=10n=10n=10Step3:多重比较虽然得出结果五种药物疗法不同,但并没有告诉我们哪种疗法与其他疗法不同。多重比较可以解决这个问题。结论:一天四次比一天一次效果佳,drugE比其他所有药物和疗法都更优。1time2times4timesdrugDdrugE510152025trtresponseaabbccd相关性分析相关系数可以用来描述定量变量之间的关系。相关系数的符号(+-)表明关系的方向,值的大小表示关系的强弱程度。数据:Step1:求相关性系数,并以图形方式展示mpghpcyldispStep2:显著性检验聚类分析根据一批样品的多个观测指标,可以具体找出一些能够度量样品或指标之间相似程度的统计量,以这些统计量作为划分类型的依据。例:饮料编号热量咖啡因钠价格1207.203.3015.502.80236.805.9012.903.30372.207.308.202.40436.700.4010.504.005121.704.109.203.50689.104.0010.203.307146.704.309.701.80857.602.2013.602.10995.900.008.501.3010199.000.0010.603.501149.808.006.303.701216.604.706.301.501338.503.707.702.00140.004.2013.102.2015118.804.707.204.1016107.000.008.304.20Step1:读取数据,求出距离计算结果Step2:对d作聚类分析,绘制聚类谱系图注:以上分别为离差平方和法、最短距离法、最长距离法、中间距离法121424111311071651569380100200300400ClusterDendrogramhclust(*,ward.D)dHeight1107691651538111324121401020304050ClusterDendrogramhclust(*,single)dHeight12143824111311076916515050100150200ClusterDendrogramhclust(*,complete)dHeight12141107691651538111324020406080120ClusterDendrogramhclust(*,median)dHeightStep3:查看分类结果注:将16种饮料细分为4类,以序号1、2、3、4表示4个类别时间序列分析一种动态数据处理的统计方法,典型的假设是相邻观测值具有某种依赖性,从而基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律。分析步骤:①读取数据②将数据存储到时间序列对象中③用数据绘制时间序列图④分解时间序列⑤时间序列预测⑥残差白噪声检验某企业近年销售数据如下,分析数据趋势:年份一季度二季度三季度四季度200436238543234120053824094984742006473513582474200754458268155720086287077735922009627725854661Step1:读取数据,并转换成时间序列Timesales200420052006200720082009400500600700800Step2:分解时间序列销售额前三季度逐渐上升,第四季度出现下降。400600800observed400500600700trend-60-202060seasonal-40-20010200420052006200720082009randomTimeDecompositionofadditivetimeseriesStep3:时间序列预测简单指数平滑法:适用于可用加法模型描述,处于恒定水平且没有季节性变动的时间序列。(beta=FALSE,gamma=FALSE)Holt指数平滑法:适用于可用加法模型描述,有增长或降低趋势且没有季节性变动的时间序列。(gamma=FALSE)Winters指数平滑法:适用于可用加法模型描述,有增长或降低趋势且存在季节性变动的时间序列。Holt-WintersfilteringTimeObserved/Fitted20052006200720082009400500600700800Step4:残差白噪声检验(检验预测效果)假设:残差服从白噪声分布,即残差序列是期望和方差均为常数的正态分布随机数。①相关图检验:②Ljung-Box检验:0.00.51.01.52.02.5-0.4-0.20.00.20.40.60.81.0LagACFSeriessales.pre2$residuals谢谢大家!
本文标题:R语言入门
链接地址:https://www.777doc.com/doc-2856379 .html